Usklađivanje uzoraka u SQL upiti

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:

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.