131 mysql>
SELECT name, name LIKE '%ns' ends_in_ns > FROM department; +++
| name | ends_in_ns |
+++
| Operations | 1 |
| Loans | 1 |
| Administration | 0 |
+++
3 rows in set (0.25 sec)
В этом примере выбираются все названия отделов. Также есть выра
жение, возвращающее
1
, если название отдела заканчивается на «ns»
или
0
в противном случае. Для поиска совпадений по более сложному
шаблону можно использовать оператор
regexp
, как показано ниже:
mysql>
SELECT cust_id, cust_type_cd, fed_id, > fed_id REGEXP '.{3}.{2}.{4}' is_ss_no_format > FROM customer; +++++
| cust_id | cust_type_cd | fed_id | is_ss_no_format |
+++++
| 1 | I | 111111111 | 1 |
| 2 | I | 222222222 | 1 |
| 3 | I | 333333333 | 1 |
| 4 | I | 444444444 | 1 |
| 5 | I | 555555555 | 1 |
| 6 | I | 666666666 | 1 |
| 7 | I | 777777777 | 1 |
| 8 | I | 888888888 | 1 |
| 9 | I | 999999999 | 1 |
| 10 | B | 041111111 | 0 |
| 11 | B | 042222222 | 0 |
| 12 | B | 043333333 | 0 |
| 13 | B | 044444444 | 0 |
+++++
13 rows in set (0.00 sec)
Четвертый столбец этого запроса возвращает
1
, если значение в столб
це
fed_id
соответствует формату номера социальной страховки.
Пользователи SQL Server и Oracle Database могут получить ана
логичные результаты с помощью выражений
case
, описанных
в главе 11.
Строковые функции, возвращающие строки В некоторых случаях требуется изменить имеющиеся строки – уда
лить/добавить текстовый фрагмент. Для выполнения этих задач у ка
ждого сервера БД есть множество функций. Прежде чем начать, еще
раз возвратим данные таблицы
string_tbl
в исходное состояние: