Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Специальные символы

Теория множеств на практике | Gt; FROM individual _> UNION ALL | SELECT cust_id, fname, lname | Оператор except | SELECT emp_id | Правила операций с множествами | Старшинство операций с множествами | Gt; SELECT cust_id _> FROM account | Упражнения | Строковые данные |


Читайте также:
  1. Акции и специальные события
  2. Ведьмы и священные символы
  3. ВОПРОС 2.9: Правильно ли мы поняли , что не зная произношения букв, ребенок воспринимает их просто как символы, графические объекты? Есть ли от этого польза?
  4. Глава 1. Вещественность и ее символы
  5. Глава 2. Земля, солнце и звезды как символы
  6. Глава 2. Обзорный взгляд на языческие (и принимаемые за таковые) символы в «Слове», их роль и значение.
  7. Глава 4. Минералы как символы

 

Если приложение предполагается применять в разных странах, стро_ ки могут включать символы, которых нет на клавиатуре разработчи_ ка. Например, при работе с французским и немецким языками может понадобиться включать символы с диакритическими знаками, такие

..

как eЂили o. Серверы SQL Server и MySQL включают встроенную функ_ цию char(), позволяющую создавать строки из всех 255 символов набо_ ра ASCII (пользователи Oracle Database могут применять функцию


 

126 Глава 7. Создание, преобразование и работа с данными

chr()). Для примера следующий фрагмент кода извлекает напечатан_ ную строку и ее эквивалент, собранный из отдельных символов:

 

mysql> SELECT 'abcdefg', CHAR(97,98,99,100,101,102,103);

 

+_________+________________________________+ | abcdefg | CHAR(97,98,99,100,101,102,103) | +_________+________________________________+ | abcdefg | abcdefg | +_________+________________________________+ 1 row in set (0.01 sec)

 

Таким образом, 97_й символ набора символов ASCII – это буква a. При_ веденные выше символы не являются специальными, а вот следую_ щий пример показывает местоположение символов с диакритически_ ми знаками и других специальных символов, таких как знаки валют:

 

mysql> SELECT CHAR(128,129,130,131,132,133,134,135,136,137);

 

+_______________________________________________+ | CHAR(128,129,130,131,132,133,134,135,136,137) | +_______________________________________________+

 

| |

+_______________________________________________+ 1 row in set (0.01 sec)

 

mysql> SELECT CHAR(138,139,140,141,142,143,144,145,146,147);

 

+_______________________________________________+ | CHAR(138,139,140,141,142,143,144,145,146,147) | +_______________________________________________+

 

| |

+_______________________________________________+ 1 row in set (0.01 sec)

 

mysql> SELECT CHAR(148,149,150,151,152,153,154,155,156,157);

 

+_______________________________________________+ | CHAR(148,149,150,151,152,153,154,155,156,157) | +_______________________________________________+

 

| |

+_______________________________________________+ 1 row in set (0.00 sec)

 

mysql> SELECT CHAR(158,159,160,161,162,163,164,165);

 

+_______________________________________+ | CHAR(158,159,160,161,162,163,164,165) | +_______________________________________+

| |

+_______________________________________+ 1 row in set (0.01 sec)

В примерах данного раздела используется набор символов latin1. Если сеанс cконфигурирован под другой набор, вы уви_ дите символы, отличные от приведенных здесь. Идея та же, но, чтобы находить определенные символы, вам придется освоить расположение символов своего набора.


 

Строковые данные  
   

 

Построение строк символ за символом может быть достаточно утоми_ тельным, особенно если в строке всего лишь несколько символов с диа_ критическими знаками. К счастью, можно воспользоваться функцией concat() и соединить отдельные строки, часть которых можно ввести с клавиатуры, а другие – сформировать с помощью функции char(). Например, следующий фрагмент кода показывает, как построить фра_

..

зу danke schon с помощью функций concat() и char():

 

mysql> SELECT CONCAT('danke sch', CHAR(148), 'n');

 

+_____________________________________+ | CONCAT('danke sch', CHAR(148), 'n') | +_____________________________________+

.. |  
| danke schon  
+_____________________________________+  
1 row in set (0.00 sec)    

Пользователи Oracle Database вместо функции concat() могут применять оператор конкатенации (||):

 

SELECT 'danke sch' || CHR(148) || 'n' FROM dual;

 

В SQL Server нет функции concat(), поэтому придется использо_ вать оператор конкатенации (+):

 

SELECT 'danke sch' + CHAR(148) + 'n'

 

Найти ASCII_эквивалент нужного символа можно с помощью функ_ ции ascii(), принимающей самый левый символ строки и возвращаю_ щей его номер:

 

..

mysql> SELECT ASCII('o');

+____________+

..

| ASCII('o') | +____________+

 

| 148 |

+____________+

 

1 row in set (0.00 sec)

 

Функции char(), ascii() и concat() (как и операторы конкатенации) по_ зволяют работать с любым романским языком, даже если клавиатура не включает символы с диакритическими знаками или спецсимволы.

 


Дата добавления: 2015-08-17; просмотров: 60 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Создание строк| Работа со строками

mybiblioteka.su - 2015-2024 год. (0.011 сек.)