Изучаем sql



Pdf көрінісі
бет113/261
Дата28.07.2022
өлшемі1,6 Mb.
#147825
1   ...   109   110   111   112   113   114   115   116   ...   261
Байланысты:
Изучаем SQL ( PDFDrive )

SELECT ASCII('o
..
');
++
| ASCII('o
..
') |
++
| 148 |
++
1 row in set (0.00 sec)
Функции 
char()

ascii()
и 
concat()
(как и операторы конкатенации) по
зволяют работать с любым романским языком, даже если клавиатура
не включает символы с диакритическими знаками или спецсимволы.
Работа со строками
Каждый сервер БД включает множество встроенных функций для рабо
ты со строками. В данном разделе будут рассмотрены строковые функ
ции двух типов: возвращающие числа и строки. Однако прежде чем на
чать, возвратим данные таблицы 
string_tbl
к исходному состоянию:
mysql> 
DELETE FROM string_tbl;
Query OK, 1 row affected (0.02 sec)
mysql> 
INSERT INTO string_tbl (char_fld, vchar_fld, text_fld)


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> 


Достарыңызбен бөлісу:
1   ...   109   110   111   112   113   114   115   116   ...   261




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет