Pattern Matching ў SQL запытаў

Выкарыстанне падстаноўных недакладнага адпаведнасці

SQL супастаўленне з узорам дазваляе шукаць шаблоны ў дадзеных, калі вы не ведаеце дакладнае слова або фразу, якую вы шукаеце. Такі запыт SQL выкарыстоўвае шаблонныя сімвалы, каб адпавядаць шаблоне, а не называць яго дакладна. Напрыклад, вы можаце выкарыстоўваць падстаноўныя знакі «C%», каб адпавядаць любой радку, пачынаючы з загалоўнай С.

Выкарыстанне LIKE аператара

Каб выкарыстоўваць падстаноўныя выразы ў запыце SQL, выкарыстоўвайце LIKE аператар у ИНЕКЕ і заключыць шаблон ў адзінарных двукоссях.

Выкарыстанне% Wildcard Выканаць Просты пошук

Для пошуку любога супрацоўніка ў базе дадзеных з прозвішчам, якая пачынаецца з літарай C, выкарыстоўвайце наступную інструкцыю Transact-SQL заяву:

SELECT * FROM супрацоўнікаў WHERE Last_name LIKE 'C%'

Апускаючы Patterns Выкарыстанне NOT словы

Выкарыстоўвайце ключавое слова, каб не абраць запісы, якія не адпавядаюць шаблоне. Напрыклад, гэты запыт вяртае усе запісы , у якіх апошні імя не пачынаецца з C:

SELECT * FROM супрацоўнікаў WHERE last_name NOT LIKE 'C'%

Супастаўленне Pattern Anywhere Выкарыстанне% Wildcard двойчы

Выкарыстоўвайце два асобніка% шаблону , каб адпавядаць пэўнаму шаблоне ў любым месцы. Гэты прыклад вяртае усе запісы, якія ўтрымліваюць C у любым месцы прозвішчаў:

SELECT * FROM супрацоўнікаў WHERE Last_name LIKE '% C%'

Пошук Pattern Match ў пэўнай пазіцыі

Выкарыстоўвайце _ падстаноўныя для вяртання дадзеных у пэўным месцы. Гэты прыклад адпавядае толькі калі С адбываецца ў трэцяй пазіцыі апошняга слупка імя:

SELECT * FROM супрацоўнікаў WHERE Last_name LIKE '_ _C%'

Падтрымліваюцца шаблонных выразаў у Transact SQL

Ёсць некалькі падстаноўных выразаў, якiя падтрымлiваюцца, Transact SQL:

Аб'яднанне падстаноўных для складаных шаблонаў

Аб'яднаеце гэтыя сімвалы ў складаных шаблонах для выканання больш складаных запытаў. Напрыклад, выкажам здагадку , што вам трэба скласці спіс усіх вашых супрацоўнікаў , якія маюць імёны, якія пачынаюцца з літары ад першай паловы алфавіту , але не сканчаюцца галоснай. Вы можаце выкарыстоўваць наступны запыт:

SELECT * FROM супрацоўнікаў WHERE last_name LIKE '[я]% [^ AEIOU]

Акрамя таго , вы можаце скласці спіс усіх супрацоўнікаў з прозвішчамі , якія стаяць роўна з чатырох знакаў, выкарыстоўваючы чатыры асобніка _ шаблону:

SELECT * FROM супрацоўнікаў WHERE Last_name LIKE '____'

Як вы можаце сказаць, выкарыстанне SQL магчымасцяў супастаўлення прапануе карыстальнікам базы дадзеных магчымасць выйсці за рамкі простых тэкставых запытаў і выконваць складаныя аперацыі пошуку.