Potrivirea modelelor SQL vă permite să căutați modele în date dacă nu știți exact cuvântul sau expresia pe care o căutați. Acest tip de SQL interogarea folosește caractere wildcard pentru a se potrivi cu un model, mai degrabă decât să îl specificați exact. De exemplu, puteți utiliza caracterul wildcard „C%” pentru a se potrivi cu orice șir care începe cu o literă C.

Folosind operatorul LIKE
Pentru a utiliza o expresie wildcard într-o interogare SQL, utilizați operatorul LIKE într-o clauză WHERE și includeți modelul între ghilimele unice.
Utilizarea% Wildcard pentru a efectua o căutare simplă
Pentru a căuta orice angajat din baza de date cu un nume de familie care începe cu litera C, utilizați următoarea instrucțiune Transact-SQL:
SELECTAȚI *
DE LA angajați
UNDE prenume ca „C%”
Omiterea modelelor folosind cuvântul cheie NU
Utilizați cuvântul cheie NOT pentru a selecta înregistrări care nu se potrivesc cu modelul. De exemplu, această interogare returnează toate înregistrările al căror nume apare ultima dată nu începe cu C:
SELECTAȚI *
DE LA angajați
UNDE prenumele nu place „C%”
Potrivirea unui model oriunde folosind% Wildcard de două ori
Utilizați două instanțe ale % wildcard pentru a se potrivi cu un anumit model oriunde. Acest exemplu returnează toate înregistrările care conțin un C oriunde în numele de familie:
SELECTAȚI *
DE LA angajați
UNDE prenume ca „% C%”
Găsirea unei potriviri de tipare la o poziție specifică
Folosește _ wildcard pentru a returna date la o anumită locație. Acest exemplu se potrivește numai dacă C apare la a treia poziție a coloanei de nume:
SELECTAȚI *
DE LA angajați
UNDE last_name LIKE '_ _C%'
Expresii comodine acceptate în Transact SQL
Există mai multe expresii comodine acceptate de Transact SQL:
- % wildcard-ul se potrivește cu zero sau mai multe caractere de orice tip și poate fi folosit pentru a defini metacaracterele înainte și după model. Dacă sunteți familiarizat cu potrivirea modelului DOS, este echivalentul * wildcard-ului din acea sintaxă.
- _ wildcard se potrivește exact cu un caracter de orice tip. Este echivalentul ? wildcard în potrivirea modelului DOS.
- Specificați o listă de caractere încadrându-le între paranteze drepte. De exemplu, wildcard-ul [aeiou] se potrivește cu orice vocală.
- Specificați o gamă de caractere încadrând intervalul între paranteze drepte. De exemplu, wildcard-ul [a.m] se potrivește cu orice literă din prima jumătate a alfabetului.
- Anulați o gamă de caractere, incluzând caracterul carat imediat în interiorul parantezei pătrate de deschidere. De exemplu, [^ aeiou] se potrivește cu orice caracter non-vocal în timp ce [^ a-m] se potrivește cu orice caracter care nu se află în prima jumătate a alfabetului.
Combinarea comodinelor pentru modele complexe
Combinați aceste metacaractere în modele complexe pentru a efectua interogări mai avansate. De exemplu, să presupunem că trebuie să construiți o listă a tuturor angajaților dvs. care au nume care încep cu o literă din prima jumătate a alfabetului, dar au nu se termină cu o vocală. Puteți utiliza următoarea interogare:
SELECTAȚI *
DE LA angajați
UNDE last_name LIKE '[a-m]% [^ aeiou]'
În mod similar, puteți construi o listă a tuturor angajaților cu nume de familie constând din exact patru caractere utilizând patru instanțe ale _ model:
SELECTAȚI *
DE LA angajați
UNDE prenume ca „____”
După cum vă puteți da seama, utilizarea capabilităților de potrivire a modelelor SQL oferă utilizatorilor bazei de date posibilitatea de a trece dincolo de interogările simple de text și de a efectua operațiuni avansate de căutare.