Ujemanje vzorcev v poizvedbah SQL

Uporaba nadomestnih znakov za neustrezno ujemanje

Primerjanje vzorcev SQL omogoča iskanje vzorcev v podatkih, če ne poznate natančne besede ali fraze, ki jo iščete. Ta vrsta SQL poizvedbe uporablja nadomestne znake, ki se ujemajo s vzorcem, namesto da natančno natanko navedejo. Na primer, lahko uporabite nadomestni znak »C%«, da se ujema s katerim koli nizom, ki se začne s kapitalom C.

Uporaba LIKE Operatorja

Če želite uporabiti nadomestni izraz v poizvedbi SQL, uporabite LIKE operaterja v določbi WHERE in priložite vzorec znotraj enačnih narekov.

Uporaba dirke za opravljanje preprostega iskanja

Če želite poiskati vsakega zaposlenega v vaši zbirki podatkov s priimkom, ki se začne s črko C, uporabite naslednji stavek Transact-SQL:

SELECT * FROM employees WHERE last_name LIKE 'C%'

Izpuščanje vzorcev z NOT ključno besedo

Uporabite ključno besedo NOT, da izberete zapise, ki se ne ujemajo z vzorcem. Na primer, ta poizvedba vrne vse zapise, katerih ime se nazadnje ne začne s C:

SELECT * FROM employees WHERE last_name NE LIKE 'C%'

Ujemanje vzorca kjerkoli z dvakratnim nadomestnim znakom

Uporabite dva primerka džokerove mape, da se ujemata z določenim vzorcem kjerkoli. Ta primer vrne vse zapise, ki vsebujejo C kjerkoli v priimku:

SELECT * FROM employees WHERE last_name LIKE '% C%'

Iskanje matričnega vzorca na določenem položaju

Za vrnitev podatkov na določeno lokacijo uporabite wildcard. Ta primer se ujema le, če se pri tretjem položaju stolpca s podatki pojavlja C:

SELECT * FROM employees WHERE last_name LIKE '_ _C%'

Podprte izraze za nadomestne znake v sistemu Transact SQL

Obstaja več nadomestnih izrazov, ki jih podpira Transact SQL:

Združevanje nadomestnih znakov za kompleksne vzorce

Združite te nadomestne znake v zapletenih vzorcih in izvedite bolj napredne poizvedbe. Recimo, da morate na primer sestaviti seznam vseh vaših zaposlenih, ki imajo imena, ki se začnejo s črko iz prve polovice abecede, vendar se ne konča s samoglasnikom. Uporabite lahko naslednjo poizvedbo:

SELECT * FROM employees WHERE last_name LIKE '[am]% [^ aeiou]'

Podobno lahko sestavite seznam vseh zaposlenih s priimki, ki so sestavljeni iz natanko štirih znakov, in sicer z uporabo štirih primerov _ vzorca:

SELECT * FROM employees WHERE last_name LIKE '____'

Kot lahko poveste, uporaba zmožnosti ujemanja vzorcev SQL omogoča uporabnikom baze podatkov, da presežejo preproste besedilne poizvedbe in izvedejo napredne operacije iskanja.