Märgendite kasutamine inaktiivseks sobivuseks
SQL-mustriga sobitamine võimaldab teil otsida mustreid andmetes, kui te ei tea täpselt sõna või fraasi, mida otsite. Selline SQL-päring kasutab mustriga sobitamiseks asendusmärke, selle asemel, et seda täpselt täpsustada. Näiteks võite kasutada metamärki "C%", mis sobib iga stringiga, mis algab peal C.
LIKE operaatori kasutamine
Kui soovite SQL-päringus kasutada metamärki, kasutage WHERE-i klauslit LIKE-operaatorit ja lisage mustrid jutumärkides.
Lihtsa otsingu tegemiseks% -st algkuju
Et otsida andmebaasi kõiki töötajaid, kelle perekonnanimi algab tähega C, kasutage järgmist Transact-SQL-i avaldust:
SELECT * töötajatelt, kus last_name LIKE 'C%'Mustrite välistamine, kasutades NOT märksõna
Kasuta mitte-märksõna, et valida kirjeid, mis ei vasta mustriga. Näiteks tagastab see päring kõik dokumendid, mille nimi ei algne C:
SELECT * FROM töötajatelt, kus last_nimi EI OLE 'C%'Mustri kujutise vastavusseviimine, kasutades% tärniga kaks korda
Määrake mustrid % -st, et need vastaksid kindlale mustrile kõikjal. See näide tagastab kõik dokumendid, mis sisaldavad C-i kõikjal oma perekonnanimes:
SELECT * FROM töötajatelt, kus last_name LIKE '% C%'Mustrivõistluse leidmine konkreetsele positsioonile
Andmete tagasipöördumiseks konkreetses asukohas kasutage wildcard'it _ . See näide sobib ainult siis, kui C esineb perekonnanime veeru kolmandas positsioonis:
SELECT * töötajatelt, kus last_name LIKE "_ _C%"Toetatud tärnide väljendeid Transact SQL-is
Transact SQL toetab mitmeid märksõna väljendeid:
- Määramise % sobib ükskõik millise nimega või rohkem tähemärke ning seda saab kasutada metamärgendite määratlemiseks nii enne kui ka pärast mustrit. Kui te tunnete DOS-i mustrite sobitamist, on see sama süntaksi * metamärki samaväärne.
- Märksõna _ vastab täpselt ühele ükskõik millisele tüübile. See on samaväärne ? DOS-mustriga võrdlemisel metamärke.
- Märgistage märkide loend, lisades need nurksulgudes. Näiteks metamärk [aeiou] vastab kõigile täishäälikule.
- Täpsustage märkide vahemik, lisades vahemiku nurksulgudes. Näiteks metamärk [am] vastab tähestiku esimeses pooles olevale tähele.
- Loobuge tähemärkide hulgast, lisades kariatähise kohe avanemisnurkselt sisse. Näiteks [^ aeiou] vastab mitte-vowel tähemärgile, kui [^ am] vastab tähemärgile, mis pole tähestiku esimeses pooles.
Märksõnade kombineerimine keerukate mustritega
Kombineerige need metamärgid keerukates mustrites, et täiustada rohkem arenenud päringuid. Oletame näiteks, et peate looma kõik oma töötajad, kellel on nimed, mis algavad tähega esimesest tähestikust, kuid ei lõpe täishäälikuga. Võiksite kasutada järgmist päringut:
SELECT * töötajatelt, kus last_name LIKE "[am]% [^ aeiou]"Samamoodi võite koostada nimekirja kõigist töötajatest, kelle perekonnanimed koosnevad täpselt neljast tähemärgist, kasutades neli näidet _ mustriga:
SELECT * töötajatelt, kus last_name LIKE "____"Nagu võite öelda, võimaldab SQL-i mustrite võrdlemise võimaluste kasutamine andmebaasi kasutajatel võimalust minna kaugemale lihtsatest tekstisõnumitest ja täiustada täpsemaid otsinguoperatsioone.