128
Глава 7. Создание, преобразование и
работа с данными
> VALUES ('This string is 28 characters',
> 'This string is 28 characters',
> 'This string is 28 characters');
Query OK, 1 row affected (0.00 sec)
Строковые функции, возвращающие числа
Одна из наиболее широко используемых строковых функций, возвра
щающих числа, –
функция
length()
(длина), которая возвращает чис
ло символов в строке (пользователям SQL Server придется использо
вать функцию
len()
). В
следующем запросе функция
length()
применя
ется к каждому столбцу таблицы
string_tbl
:
mysql>
SELECT LENGTH(char_fld) char_length,
> LENGTH(vchar_fld) varchar_length,
> LENGTH(text_fld) text_length
> FROM string_tbl;
++++
| char_length | varchar_length | text_length |
++++
| 28 | 28 | 28 |
++++
1 row in set (0.00 sec)
Длины столбцов
varchar
и
text
вполне ожидаемы, но
предполагалось, что
столбец
char
содержит строки длиной 30 символов, – я ведь говорил, что
строки, хранящиеся в столбцах типа
char
,
дополняются пробелами спра
ва. Но сервер MySQL удаляет пробелы в конце строки при извлечении
данных типа
char
, поэтому для всех строковых функций, независимо от
типа столбца,
хранящего строки, получены аналогичные результаты.
Кроме определения длины строки может потребоваться найти место
положение подстроки в строке. Например, если надо определить, где
в столбце
vchar_fld
располагается строка «characters»,
можно восполь
зоваться функцией
position()
(положение), как показано ниже:
mysql>
Достарыңызбен бөлісу: