SQL-i mustrite sobitamine võimaldab teil otsida andmetest mustreid, kui te ei tea täpselt otsitavat sõna või fraasi. Selline SQL Päring kasutab mustri sobitamiseks metamärke, selle asemel, et seda täpselt määratleda. Näiteks võite kasutada metamärke "C%", et sobitada kõik stringid, mis algavad suurtähega C.
Operaatori LIKE kasutamine
Märkmeväljakujunduse kasutamiseks SQL-päringus kasutage LIKE-operaatorit WHERE-klauslis ja lisage muster ühte jutumärki.
% -Märgi kasutamine lihtsa otsingu tegemiseks
Mis tahes töötaja otsimiseks oma andmebaasis perekonnanimega, mis algab tähega C, kasutage järgmist Transact-SQL lauset:
VALI *
Töötajatelt
WHERE perekonnanimi LIKE 'C%'
Mustrite väljajätmine märksõna NOT abil
Kasutage märksõna EI, et valida kirjed, mis ei ühti mustriga. Näiteks tagastab see päring kõik kirjed, mille nimi on viimane mitte algavad tähega C:
VALI *
Töötajatelt
Kus perekonnanimi EI meeldi 'C%'
Mustri sobitamine ükskõik kus, kasutades% -märki kaks korda
Kasutage kahte % metamärki, et see sobiks kindla mustriga kõikjal. See näide tagastab kõik kirjed, mis sisaldavad perekonnanimes tähte C:
VALI *
Töötajatelt
WHERE perekonnanimi LIKE '% C%'
Mustrivaste leidmine kindlalt positsioonilt
Kasuta _ asendusmärk andmete kindlale asukohale tagastamiseks. See näide sobib ainult juhul, kui perekonnanime veeru kolmandal kohal on C:
VALI *
Töötajatelt
WHERE perekonnanimi LIKE '_ _C%'
Toetatud metamärgid Transact SQL-is
Transact SQL toetab mitut metamärki:
- The % metamärk vastab nullile või enamale mis tahes tüüpi tähemärgile ja seda saab kasutada metamärkide määratlemiseks nii enne kui ka pärast mustrit. Kui olete tuttav DOS-i mustrite sobitamisega, on see samaväärne selle süntaksis asuva * metamärgiga.
- The _ metamärk vastab täpselt ühele mis tahes tüüpi tähemärgile. See on samaväärne ? DOS-i mustriga sobitamine.
- Määrake märkide loend, sisestades need nurksulgudesse. Näiteks metamärk [aeiou] sobib mis tahes häälikuga.
- Määrake märkide vahemik, sisestades vahemiku nurksulgudesse. Näiteks metamärk [olen] sobib tähestiku esimeses pooles oleva tähega.
- Negatiivne tähemärkide vahemik, lisades karaatmärgi kohe ava nurksulgude sisse. Näiteks, [^ aeiou] sobib mis tahes vokaalivälise tähemärgiga [^ a-m] sobib mis tahes tähemärgiga, mis pole tähestiku esimeses pooles.
Metsamärkide kombineerimine keerukate mustrite jaoks
Kombineerige need metamärgid keerukamates mustrites, et teha täpsemaid päringuid. Oletame näiteks, et peate koostama loetelu kõigist oma töötajatest, kelle nimed algavad tähestiku esimesest poolest, kuid mitte lõpeb täishäälikuga. Võite kasutada järgmist päringut:
VALI *
Töötajatelt
KUS perekonnanimi LIKE '[a-m]% [^ aeiou]'
Samamoodi võite koostada kõigi neljast tähemärgist koosnevate perekonnanimedega töötajate loendi, kasutades nelja eksemplari _ muster:
VALI *
Töötajatelt
KUS perekonnanimi LIKE '____'
Nagu võite öelda, pakub SQL-i mustrite sobitamise võimaluste kasutamine andmebaasi kasutajatele võimalust minna kaugemale lihtsatest tekstipäringutest ja teha täpsemaid otsinguoperatsioone.