SQL – Karakter operator LIKE

Nastavljamo priču o upitima, i prelazimo na karakter operatore. Karakter operatore možemo koristiti za manipulaciju načina na koji su predstavljeni stringovi (string polja u bazi). Manipulacija se odnosi na aktivnost postavljanja uslova za podatke koji će biti vraćeni iz baze podataka. U ovom tekstu ćemo obraditi operator „LIKE„.

Šta ako imate podatke u određenim string poljima, koji predstavljaju isti pojam, ali su napisani na različite načine? U tim i sličnim situacijama koristićemo operator LIKE za vraćanje svih potrebnih podataka. U slučaju kada bi koristili operator „=“, dobili bi identičan rezultat, ali bi morali da za taj identičan rezultat da postavimo mnogostruke uslove. Na primer ako imamo situaciju kao na slici (podaci o artiklima i mestu skladištenja) i postavimo sledeći upit:


SELECT *
FROM Artikli
WHERE Mesto LIKE ‘%MAGACIN%’

Kao rezultat dobićemo podatke kao na slici ispod, tj. dobićemo sve podatke gde se u polju „Mesto“ javlja reč „MAGACIN“. Možete zapaziti da smo u upitu koristili znak procenta (%). Kada koristimo ovaj znak unutar „LIKE“ izraza, znak procenta predstavlja „džoker“ znak, tj. znak koji zamenjuje bilo koju kombinaciju karaktera. U našem slučaju, kao rezultat dobili smo tri sloga koja u polju „Mesto“ imaju reč „MAGACIN“. Ako sada malo drugačije postavimo upit:


SELECT *
FROM Artikli
WHERE Mesto LIKE ‘MAGACIN%’

Kao rezultat dobićemo dva podatka, prvi i poslednji, tj. one podatke koji počinju sa rečju „MAGACIN“.

Upotreba „džoker“ znaka je vrlo fleksibilna, pa tako možemo postaviti i ovakav upit:


SELECT *
FROM Artikli
WHERE Artikl LIKE ‘S%’

Upit će vratiti dva podatka: „Sapun“ i „Sir“, tj. podatke koji počinju slovom „S“. Morate još znati da je izraz „LIKE“ case-sensitive (osetljiv na mala/velika slova). Pa tako, ako postavimo prethodni uslov na sledeći način:


SELECT *
FROM Artikli
WHERE Artikl LIKE ‘s%’

Kao rezultat nećemo dobiti nijedan podatak.

Pratite Krstaricu na www.krstarica.com