Проверка на соответствие шаблону 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Проверка на соответствие шаблону



Проверка на соответст­вие шаблону позволяет выбрать из базы данных строки на основе частичного со­ответствия. Шаблон представляет собой строку, в которую может входить один или более подстановочных знаков. Эти знаки интерпретируются особым образом.

Подстановочный знак % совпадает с любой последовательностью из нуля или более символов.

Подстановочный знак _ (символ подчеркивания) совпадает с любым отдельным символом.

Подстановочные знаки можно помещать в любое место строки шаблона, и в одной строке может содержаться несколько подстановочных знаков.

С помощью формы NOT LIKE можно находить строки, не соответствующие шаблону. Проверку LIKE можно применять только к столбцам, имеющим строковый тип данных. Если в столбце содержится NULL, то результатом проверки будет NULL.

При проверке строк на соответствие шаблону может оказаться, что подстановочные знаки входят в строку символов в качестве литералов. Например, нельзя проверить, содержится ли знак процента в строке, просто включив его в шаблон, поскольку СУБД будет считать этот знак подстановочным. Как правило, это не вызывает серьезных проблем, поскольку подстановочные знаки довольно редко встречаются в именах, названиях товаров и других текстовых данных, которые обычно хранятся в базе данных.

В стандарте ANSI/ISO определен способ проверки наличия в строке литерале; использующихся в качестве подстановочных знаков. Для этого применяются символы пропуска. Когда в шаблоне встречается такой символ, то символ, сле­дующий непосредственно за ним, считается не подстановочным знаком, а лите­ралом. (Происходит пропуск символа.) Непосредственно за символом пропуска может следовать либо один из двух подстановочных знаков, либо сам символ пропуска, поскольку он тоже приобретает в шаблоне особое значение.

Символ пропуска определяется в виде строки, состоящей из одного символа. и предложения ESCAPE. Ниже приведен пример использования знака доллара ($) в качестве символа пропуска:

Найти товары, коды которых начинаются с четырех букв А%ВС.

SELECT ORQERNUM, PRODUCT

FROM ORDERS WHERE PRODUCT LIKE 'А$*ВС%’ ESCAPE '$'

Первый символ процента в шаблоне, следующий за символом пропуска, считается литералом, второй — подстановочным знаком.

Символы пропуска часто используются при проверке на соответствие шаблону именно поэтому они были включены в стандарт ANSI/ISO. Однако они не входили в первые реализации SQL и поэтому не очень распространены. Для обеспе­чения переносимости приложений следует избегать использования предложения ESCAPE.

Проверка на равенство значению NULL


Составные условия отбора

Простые условия отбора, описанные в предыдущих параграфах, после применения к некоторой строке возвращают значения TRUE, FALSE или NULL. С помощью правил логики эти простые условия можно объединять в более сложные.

Если с помощью операторов AND, OR и NOT объединяется более двух условий отбо­ра, то в соответствии со стандартом ANSI/ISO оператор NOT имеет наивысший приоритет, за ним следует AND и только потом OR. Однако, чтобы гарантировать переносимость, всегда следует использовать круглые скобки; это позволит устра­нить все возможные неоднозначности.

В стандарте SQL2 появилось еще одно логическое условие отбора: проверка IS.

Для обеспечения максимальной переносимости следует избегать подобных про­верок и записывать выражения только с помощью операторов AND, OR и NOT. Одна­ко избежать проверки IS UNKNOWN удается не всегда.

 



Поделиться:


Последнее изменение этой страницы: 2017-02-07; просмотров: 119; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.117.196.184 (0.005 с.)