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:
- Dovoljevalnik % ujema nič ali več znakov katere koli vrste in se lahko uporablja za določitev nadomestnih znakov tako pred vzorcem kot po njej. Če ste seznanjeni z ujemanjem vzorca DOS, je to enakovredna * nadomestni znak * v tej sintaksi.
- Poseben znak se ujema s točno enim znakom katere koli vrste. Je enakovreden ? nadomestni znak v DOS vzorcu.
- Določite seznam znakov tako, da jih obkrožite v oglatih oklepajih. Na primer, nadomestni znak [aeiou] ustreza poljubnemu samoglasniku.
- Določite vrsto znakov tako, da obdržite obseg v oglatih oklepajih. Na primer, nadomestni znak [am] ustreza katerikoli črki v prvi polovici abecede.
- Zavrzi vrsto znakov tako, da znaki karata takoj vključite v oklepaj odprtega oglata. Na primer, [^ aeiou] se ujema s katerimkoli znakom, ki ni značilen samoglasnik, medtem ko se [^ am] ujema s katerimkoli znakom, ki ni v prvi polovici abecede.
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.