Ž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ų:
- Subkategorija % atitinka nulio ar daugiau bet kokio tipo simbolius ir gali būti naudojama norint nustatyti pakaitos simbolius prieš ir po modelio. Jei esate susipažinę su DOS modelio atitikimu, tai atitinka * sintaksės pakaitalą.
- "Wildcard" atitinka tik vieną bet kokio tipo simbolį. Tai lygiaverčiai ? DOS simbolių atitikimo pakaitalas.
- Nurodykite simbolių sąrašą, pridedant juos į skliaustus. Pavyzdžiui, pakaitos simbolis [aeiou] atitinka bet kokį balsį.
- Nurodykite simbolių diapazoną, pridedant diapazoną į skliaustus. Pavyzdžiui, pakaitos simbolis [am] atitinka bet kurią pirmosios abėcėlės pusės raidę.
- Nepaisykite simbolių asortimento, įtraukdami karatų simbolį iš karto į pradinę kvadratinę skliautę. Pavyzdžiui, [^ aeiou] atitinka bet kokį nežodinį simbolį, o [^ am] atitinka bet kurį simbolį, kuris nėra pirmoje abėcėlės pusėje.
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.