Ujemanje vzorcev SQL vam omogoča iskanje vzorcev v podatkih, če ne poznate natančno iskane besede ali besedne zveze. Ta vrsta SQL poizvedba uporablja nadomestne znake, da se ujemajo z vzorcem, namesto da bi ga natančno določili. Na primer, z nadomestnim znakom "C%" lahko ujemate kateri koli niz, ki se začne z veliko C.
![Povečevalno steklo](/f/dbb02bb428fa65c7192cf92262c413fc.jpg)
Uporaba operaterja LIKE
Če želite v poizvedbi SQL uporabiti nadomestni izraz, uporabite operator LIKE v stavku WHERE in vzorec zaprite v enojne narekovaje.
Uporaba nadomestnega znaka% za preprosto iskanje
Za iskanje katerega koli zaposlenega v bazi podatkov s priimkom, ki se začne s črko C, uporabite naslednji stavek Transact-SQL:
IZBERI *
OD zaposlenih
WHERE priimek KOT 'C%'
Izpuščanje vzorcev z uporabo ključne besede NOT
S ključno besedo NOT izberite zapise, ki se ne ujemajo z vzorcem. Na primer, ta poizvedba vrne vse zapise, katerih ime nazadnje ne začni s C:
IZBERI *
OD zaposlenih
WHERE last_name NI VEZ "C%"
Ujemanje vzorca kjer koli Uporaba% nadomestnega znaka dvakrat
Uporabite dva primerka % nadomestni znak, da se kjer koli ujema z določenim vzorcem. Ta primer vrne vse zapise, ki vsebujejo C kjer koli v priimku:
IZBERI *
OD zaposlenih
WHERE priimek KAKO '% C%'
Iskanje ujemanja vzorca na določenem položaju
Uporabi _ nadomestni znak za vrnitev podatkov na določeni lokaciji. Ta primer se ujema le, če se C nahaja na tretjem mestu stolpca z imeni:
IZBERI *
OD zaposlenih
KJE priimek KOT '_ _C%'
Podprti izrazi z nadomestnimi znaki v Transact SQL
Transact SQL podpira več izrazov nadomestnih znakov:
- The % nadomestni znak se ujema z nič ali več znaki katere koli vrste in se lahko uporablja za določanje nadomestnih znakov pred vzorcem in po njem. Če poznate ujemanje vzorcev DOS, je to enakovredno nadomestnemu znaku * v tej sintaksi.
- The _ nadomestni znak se ujema z natančno enim znakom katere koli vrste. To je enakovredno ? nadomestni znak v vzorcu DOS.
- Določite seznam znakov, tako da jih zaprete v oglate oklepaje. Na primer nadomestni znak [samoglasniki] se ujema s katerim koli samoglasnikom.
- Določite obseg znakov, tako da obseg zaprete v oglate oklepaje. Na primer nadomestni znak [a-m] se ujema s katero koli črko v prvi polovici abecede.
- Zavrnite obseg znakov tako, da vključite karatni znak neposredno znotraj odpiralnega oklepaja. Na primer [^ aeiou] ujema se s katerim koli samoglasnikom, medtem ko [^ a-m] se ujema s katerim koli znakom, ki ni v prvi polovici abecede.
Kombiniranje nadomestnih znakov za kompleksne vzorce
Te nadomestne znake združite v zapletene vzorce, da izvedete naprednejše poizvedbe. Recimo, da morate na primer sestaviti seznam vseh svojih zaposlenih, ki imajo imena, ki se začnejo s črko iz prve polovice abecede, vendar ne konča se z samoglasnikom. Uporabite lahko naslednjo poizvedbo:
IZBERI *
OD zaposlenih
WHERE priimek KAKO '[a-m]% [^ aeiou]'
Podobno lahko sestavite seznam vseh zaposlenih s priimki, ki je sestavljen iz natanko štirih znakov, tako da uporabite štiri primerke _ vzorec:
IZBERI *
OD zaposlenih
KJE priimek KAKO '____'
Kot lahko ugotovite, uporaba možnosti ujemanja vzorcev SQL uporabnikom zbirke podatkov omogoča, da presežejo preproste besedilne poizvedbe in izvedejo napredne iskalne operacije.