Modelio atitikimas SQL užklausose

Žodžių naudojimas netiksliam atitikimui

SQL šablonų atitikimas leidžia ieškoti duomenų modelių, jei nežinote tikslių žodžių ar frazių, kurių ieškote. Šis SQL užklausos tipas naudoja pakaitos simbolius, kad jis atitiktų modelį, o ne tiksliai jį apibrėžtų. Pavyzdžiui, galite naudoti pakaitos simbolį "C%", kad atitiktumėte bet kurią eilutę, prasidedančią sostine C.

LIKE operatoriaus naudojimas

Jei SQL užklausoje naudojate pakaitos simbolį, naudokite LIKE operatorių WHERE sąlygą ir pridėkite modelį per kabutes.

Naudojant laukelio pavadinimą% atlikti paprastą paiešką

Norėdami ieškoti bet kurio jūsų duomenų bazės darbuotojo su pavarde, prasidedančiu raide C, naudokite tokį Transact-SQL pareiškimą:

SELECT * iš darbuotojų WHERE last_name LIKE 'C%'

Praleisti modelius, naudojant ne žodį

Naudokite NOT raktinį žodį, norėdami pasirinkti įrašus, kurie neatitinka modelio. Pavyzdžiui, ši užklausa grąžina visus įrašus, kurių pavadinimas neseniai prasideda C:

SELECT * iš darbuotojų WHERE last_name NEPAKANKAMI "C%"

Atitikimas šablonui visur, naudojant dvigubą% simbolių pavadinimą

Naudokite du pakaitos simbolius %, kad atitiktų konkretų modelį bet kur. Šiame pavyzdyje grąžinami visi įrašai, kuriuose yra C visur, pavarde:

SELECT * Iš darbuotojų WHERE last_name LIKE '% C%'

Rasti modelio atitikimą konkrečioje pozicijoje

Naudokite _ pakaitos simbolį, jei norite grąžinti duomenis konkrečioje vietoje. Šis pavyzdys atitinka tik tuo atveju, jei C įvyksta trečioje paskyros stulpelio pozicijoje:

SELECT * iš darbuotojų WHERE last_name LIKE '_ _C% "

Palaikomos "Wildcard Expressions" Transact SQL

"Transact SQL" palaiko keletą pakaitinių žodžių:

Derinant laukinius simbolius su kompleksiniais modeliais

Suderinti šiuos pakaitos simbolius sudėtinguose modeliuose, kad atliktumėte išplėstines užklausas. Pavyzdžiui, tarkime, kad turite sukurti visų jūsų darbuotojų sąrašą, kurių pavadinimai prasideda raidėmis iš pirmosios abėcėlės pusės, bet nesibaigia žodžiu. Galėtumėte naudoti šią užklausą:

SELECT * iš darbuotojų WHERE last_name LIKE "[am]% [^ aeiou]"

Panašiai galite sukurti visus darbuotojus, kurių pavardės susideda iš tiksliai keturių simbolių, naudojant keturis _ modelio pavyzdžius:

SELECT * iš darbuotojų WHERE last_name LIKE "____"

Kaip jūs galite pasakyti, SQL šablonų atitikimo galimybių naudojimas suteikia duomenų bazės vartotojams galimybę išeiti už paprastų teksto užklausų ir vykdyti išplėstines paieškos operacijas.