Šablonų derinimas SQL užklausose su pakaitomis

click fraud protection

SQL šablonų atitikimas leidžia ieškoti šablonų duomenyse, jei nežinote tikslaus žodžio ar frazės, kurios ieškote. Tokio tipo SQL užklausoje naudojami pakaitos simboliai, kad atitiktų modelį, o ne tiksliai nurodytų. Pvz., Galite naudoti pakaitos simbolį „C%“, kad atitiktų bet kokią eilutę, prasidedančią didžiąja C dalimi.

Padidinamasis stiklas
Kate Ter Haar / „Flickr“ / CC iki 2.0

Operatoriaus LIKE naudojimas

Norėdami naudoti pakaitos išraišką SQL užklausoje, naudokite LIKE operatorių WHERE sąlygoje ir pridėkite šabloną vienose kabutėse.

% Pakaitos naudojimas norint atlikti paprastą paiešką

Norėdami ieškoti bet kurio darbuotojo savo duomenų bazėje, kurios pavardė prasideda raide C, naudokite šį Transact-SQL sakinį:

PASIRINKTI *
IŠ darbuotojų
WHERE pavardė PATINK „C%“

Raštų praleidimas naudojant raktinį žodį NOT

Naudokite raktinį žodį NE norėdami pasirinkti įrašus, kurie neatitinka modelio. Pavyzdžiui, ši užklausa pateikia visus įrašus, kurių vardas paskutinis ne prasideda C:

PASIRINKTI *
IŠ darbuotojų
WHERE pavardė NEPATINKA „C%“
instagram viewer

Rašto atitiktis bet kur naudojant% pakaitos simbolį du kartus

Naudokite du % pakaitos simbolis, kad bet kur atitiktų tam tikrą modelį. Šis pavyzdys pateikia visus įrašus, kuriuose yra C bet kurioje pavardės vietoje:

PASIRINKTI *
IŠ darbuotojų
WHERE pavardė PATINK „% C%“

Rašto atitikties radimas konkrečioje pozicijoje

Naudoti _ pakaitos simbolis grąžinti duomenis tam tikroje vietoje. Šis pavyzdys sutampa tik tuo atveju, jei C yra trečioje pavardės stulpelio vietoje:

PASIRINKTI *
IŠ darbuotojų
WHERE pavardė LIKE '_ _C%'

Palaikomos pakaitos simbolių išraiškos „Transact SQL“

„Transact SQL“ palaiko keletą pakaitos simbolių:

  • % pakaitos simbolis atitinka nulį ar daugiau bet kokio tipo simbolių ir gali būti naudojamas pakaitoms apibrėžti tiek prieš, tiek po šablono. Jei esate susipažinę su DOS modelio derinimu, tai yra tos sintaksės * pakaitos simbolio atitikmuo.
  • _ pakaitos simbolis atitinka tiksliai vieną bet kokio tipo simbolį. Tai atitikmuo ? pakaitos simbolis suderinamas su DOS modeliais.
  • Nurodykite simbolių sąrašą, įtraukdami juos į laužtinius skliaustus. Pavyzdžiui, pakaitos simbolis [aeiou] atitinka bet kurį balsį.
  • Nurodykite simbolių diapazoną, įtraukdami diapazoną laužtiniuose skliaustuose. Pavyzdžiui, pakaitos simbolis [esu] atitinka bet kurią raidę pirmoje abėcėlės pusėje.
  • Neigkite simbolių diapazoną, įtraukdami karatų simbolį tiesiai į pradžios laužtinį skliaustą. Pavyzdžiui, [^ aeiou] atitinka bet kurį ne balsių simbolį [^ a-m] atitinka bet kurį simbolį, esantį ne pirmoje abėcėlės pusėje.

Pakaitinių simbolių derinimas sudėtingiems modeliams

Sujunkite šias pakaitas sudėtingais šablonais, kad galėtumėte atlikti daugiau užklausų. Pvz., Tarkime, kad turite sudaryti visų savo darbuotojų, turinčių vardus, prasidedančius raide nuo abėcėlės pirmosios pusės, sąrašą, bet ne baigti balsiu. Galite naudoti šią užklausą:

PASIRINKTI *
IŠ darbuotojų
KUR PAVADINIMAS PATINKA „[a-m]% [^ aeiou]“

Panašiai galite susikurti visų darbuotojų, turinčių tiksliai keturis simbolius, sąrašą, sudarytą iš tiksliai keturių simbolių, naudodami keturis pavyzdžius _ modelis:

PASIRINKTI *
IŠ darbuotojų
WHERE pavardė PATINK „____“

Kaip jūs galite pasakyti, SQL šablonų atitikimo galimybių naudojimas suteikia duomenų bazės vartotojams galimybę peržengti paprastas teksto užklausas ir atlikti išplėstines paieškos operacijas.

instagram story viewer