Ujemanje vzorcev v poizvedbah SQL z nadomestnimi znaki

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
Kate Ter Haar / Flickr / CC z 2.0

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

instagram viewer

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.