Korišćenje znakova za neefikasno prilagođavanje
Podudaranje SQL obrazaca vam omogućava da tražite obrasce podataka, ako ne znate tačnu reč ili frazu koju tražite. Ova vrsta SQL upita koristi džokerove znakove koji odgovaraju tabelama, umjesto da preciziraju to. Na primer, možete koristiti džoker "C%" da biste podesili bilo koji niz koji počinje sa glavnim C.
Korišćenjem LIKE Operatora
Da biste koristili izraz sa izrazom u SQL upitu, koristite LIKE operatora u WHERE klauzuli i priložite obrazac unutar pojedinačnih navodnika.
Koristite% Wildcard da biste izvršili jednostavnu pretragu
Da biste potražili bilo kog zaposlenog u bazi podataka sa prezimenom koji počinje slovom C, koristite sljedeću Transact-SQL izvod:
SELECT * FROM employees WHERE last_name LIKE 'C%'Izostavljanje uzoraka pomoću ključne reči NOT
Koristite NOT ključnu reč za odabir zapisa koji se ne podudaraju sa šablonom. Na primer, ovaj upit vraća sve zapise čije ime poslednje ne počinje sa C:
SELECT * FROM employees WHERE last_name NE LIKE 'C%'Uparivanje šablona bilo kog mesta koristeći dvostruku džoker karticu
Koristite dva slučaja džokarde da biste odgovarali određenom obrazcu bilo gde. Ovaj primjer vraća sve zapise koji sadrže C bilo gdje u prezimenu:
SELECT * FROM employees WHERE last_name LIKE '% C%'Pronalaženje matrice u određenom položaju
Koristite _ wildcard da biste vratili podatke na određenoj lokaciji. Ovaj primjer se podudara samo ako se C pojavljuje na trećoj poziciji kolone prezime:
SELECT * FROM employees WHERE last_name LIKE '_ _C%'Podržani Izrazi Wildcard u Transact SQL
Postoji nekoliko izraza sa dijalogom koje podržava Transact SQL:
- % Džokarta se podudara sa nula ili više znakova bilo koje vrste, i može se koristiti za definiranje džempera i pre i posle šablona. Ako ste upoznati sa podudaranjem u DOS uzorku, on je ekvivalentan * wildcard u toj sintaksi.
- _ Wildcard se podudara sa jednim karakterom bilo koje vrste. To je ekvivalentno ? wildcard u DOS uzorkovanju.
- Navedite listu znakova tako što ćete ih zatvoriti u uglastim zagradama. Na primer, džoker [aeiou] odgovara bilo kojem samoglasniku.
- Navedite niz znakova tako što ćete obuhvatiti opseg u kvadratnim zagradama. Na primjer, džoker [am] odgovara bilo kojem slovu u prvoj polovini abecede.
- Odbijte niz znakova tako što ćete karatni znak uključiti odmah unutar otvornog kvadratnog nosača. Na primjer, [^ aeiou] se podudara s bilo kojim znakom koji nije zvučnik dok [^ am] odgovara bilo kojem osoblju koji nije u prvoj polovini abecede.
Kombinovanje znakova za kompleksne šablone
Kombinirajte ove džokerove u složenim obrascima da biste izvršili naprednije upite. Na primer, pretpostavimo da treba da napravite listu svih vaših zaposlenih koji imaju imena koja počinju slovom iz prve polovine alfabeta, ali se ne završavaju sa samoglasnikom. Možete koristiti sljedeći upit:
SELECT * FROM employees WHERE last_name LIKE '[am]% [^ aeiou]'Slično tome, mogli ste da napravite spisak svih zaposlenih sa prezimenima koji se sastoje od tačno četiri karaktera koristeći četiri instance šema:
SELECT * FROM employees WHERE last_name LIKE '____'Kao što možete reći, korištenje sposobnosti za usklađivanje obrazaca SQL-a nudi korisnicima baze podataka mogućnost da prevazilaze jednostavne tekstualne upite i izvršavaju napredne operacije pretraživanja.