Използване на заместващи символи за несъответстващо съвпадение
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:
- % Wildcard съвпада с нула или повече знаци от всякакъв вид и може да се използва за дефиниране на заместващи символи преди и след шаблона. Ако сте запознати със съвпадението на шаблони за DOS, това е еквивалентът на * wildcard в този синтаксис.
- _ Wildcard съответства точно на един знак от всякакъв тип. Това е еквивалентът на ? заместващ макет в DOS.
- Посочете списък на знаците, като ги включите в квадратни скоби. Например, заместващият символ [aeiou] съвпада с всяка гласна.
- Посочете диапазон от знаци, като обхванете диапазона в квадратни скоби. Например, заместващата дума [am] съвпада с всяка буква в първата половина на азбуката.
- Пренебрегвайте набор от знаци, като включите каратовия знак непосредствено в отварящата квадратна скоба. Например, [^ aeiou] съвпада с всеки знак, който не е гласна, докато [^ am] съвпада с който и да е символ, който не е в първата половина на азбуката.
Комбиниране на заместващи символи за сложни модели
Комбинирайте тези заместващи символи в сложни модели, за да извършвате по-усъвършенствани заявки. Да предположим например, че трябва да съставите списък на всичките си служители, които имат имена, започващи с писмо от първата половина на азбуката, но не завършват с гласна. Можете да използвате следната заявка:
SELECT * FROM служители WHERE last_name LIKE '[am]% [^ aeiou]'По подобен начин можете да създадете списък на всички служители с фамилни имена, състоящи се от точно четири знака, като използвате четири копия на модела _ :
SELECT * FROM служители WHERE last_name LIKE '____'Както можете да разберете, използването на възможности за съвпадение на шаблони на SQL дава възможност на потребителите на база данни да надхвърлят простите текстови заявки и да извършват разширени операции за търсене.