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конфигурирован под другой набор, вы уви
дите символы, отличные от приведенных здесь. Идея та же, но,
чтобы находить определенные символы, вам придется освоить
расположение символов своего набора.
Строковые данные
127 Построение строк символ за символом может быть достаточно утоми
тельным, особенно если в строке всего лишь несколько символов с диа
критическими знаками. К счастью, можно воспользоваться функцией
concat()
и соединить отдельные строки, часть которых можно ввести
с клавиатуры, а другие – сформировать с помощью функции
char()
.
Например, следующий фрагмент кода показывает, как построить фра
зу
danke scho .. n с помощью функций
concat()
и
char()
:
mysql>
SELECT CONCAT('danke sch', CHAR(148), 'n'); ++
| CONCAT('danke sch', CHAR(148), 'n') |
++
| danke scho
..
n |
++
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>