Учебно-справочное пособие по СУБД Informix


4. Операторы Манипуляции Данными. - часть 3


Все остальные символы в шаблоне обозначают сами себя. Если мы хотим включить в шаблон % или _ отменив их специальный смысл, то перед ними надо поставить ESC-символ (по умолчанию это (\)).
Допустим нам нужно выбрать из таблицы tab8 все строки, в которых символьный столбец string1 содержит символ "+" а предпоследняя буква в нем - "Ы". Оператор выборки будет выглядеть так: SELECT * FROM tab8 WHERE string1 LIKE "%+%Ы_"
MATCHES использует такие спецсимволы шаблона: *, ?, [, ], ^, -.

* заменяет любое количество символов
? заменяет один любой символ
[...] заменяет один символ из перечисленных в скобках
возможно указание от и до (-), и не (^)
[abH] любой из символов a, b, H
[^d-z] любой символ, исключая d,e,f,g, ... ,y,z
\ отменяет спецсмысл спецсимволов *,?,[,]

Если вы хотите воспользоваться спецсимволами как обычными, примените escape-char. Если escape-char="\", то \? обозначает просто символ ?, \* обозначает просто символ *, \\ обозначает просто символ \ . Зато знак кавычки (") внутри шаблона нужно обозначать двумя кавычками ("").
Выбрать все данные о заказчиках в названии компании которых вторая буква не лежит в интервале от G до L, а третья буква c. (Кстати, коды русских букв на БЕСТЕ идут подряд, но в отличие от латинских букв, русские не упорядочены по алфавиту.) SELECT * FROM customer WHERE company MATCES"?[^G-L]c*"
Выбрать все данные о заказчиках в названии компании которых присутствует вопросительный знак. SELECT * FROM customer WHERE company MATCHES "*Я?*" ESCAPE"Я"
В данном примере использовался ESC-символ "Я" для отмены спецсмысла символа "?".

Если вы хотите:

  • Сравнить выражение с результатом другого SELECT оператора выраж сравн {ALL | [ANY | SOME]} (SELECT-statement)

  • Определить, принадлежит ли выражение результатам другого SELECT оператора. выраж [NOT] IN (SELECT-statement)

  • Выяснить, выбрал ли хоть что-нибудь другой SELECT оператор. [NOT] EXISTS (SELECT-statement)




Начало  Назад  Вперед



Книжный магазин