Съответствие на шаблони в SQL заявки

Използване на заместващи символи за несъответстващо съвпадение

SQL съвпадането на шаблони ви позволява да търсите модели в данните, ако не знаете точната дума или фраза, която търсите. Този вид заявка в SQL използва заместващи символи, за да съответства на даден модел, вместо да го определя точно. Например, можете да използвате заместващия символ "C%", за да съответства на низ, започващ с капитал C.

Използване на оператора LIKE

За да използвате израз на заместващ знак в SQL заявка, използвайте оператора LIKE в клауза WHERE и приложете шаблона в единични кавички.

Използване на% Wildcard за извършване на просто търсене

За да търсите служител във вашата база данни с фамилно име, започващо с буквата C, използвайте следния израз Transact-SQL:

SELECT * FROM служители WHERE last_name LIKE 'C%'

Премахване на шаблони Използване на неприложимата ключова дума

Използвайте ключовата дума NOT, за да изберете записи, които не съответстват на шаблона. Например тази заявка връща всички записи, чието последно име не започва с C:

SELECT * FROM служители КЪДЕ last_name НЕ Е СИГУРЕН 'C%'

Съответствие на шаблона навсякъде с помощта на% Wildcard два пъти

Използвайте два случая на % wildcard, за да съответствате на определен шаблон навсякъде. Този пример връща всички записи, съдържащи C навсякъде в последното име:

SELECT * FROM служители WHERE last_name LIKE '% C%'

Намиране на съвпадение на шаблона на определена позиция

Използвайте "wildcard", за да върнете данните на определено място. Този пример съвпада само ако C се намира на третата позиция в колоната за фамилното име:

SELECT * FROM служители WHERE last_name LIKE '_ _C%'

Поддържани експресии на wildcard в Transact SQL

Има няколко изрази, поддържани от Transact SQL:

Комбиниране на заместващи символи за сложни модели

Комбинирайте тези заместващи символи в сложни модели, за да извършвате по-усъвършенствани заявки. Да предположим например, че трябва да съставите списък на всичките си служители, които имат имена, започващи с писмо от първата половина на азбуката, но не завършват с гласна. Можете да използвате следната заявка:

SELECT * FROM служители WHERE last_name LIKE '[am]% [^ aeiou]'

По подобен начин можете да създадете списък на всички служители с фамилни имена, състоящи се от точно четири знака, като използвате четири копия на модела _ :

SELECT * FROM служители WHERE last_name LIKE '____'

Както можете да разберете, използването на възможности за съвпадение на шаблони на SQL дава възможност на потребителите на база данни да надхвърлят простите текстови заявки и да извършват разширени операции за търсене.