Tehnika Krstarice > Programiranje > SQL - Karakter operator LIKE

SQL - Karakter operator LIKE

12.01.2001.

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.

Preporučite ovaj članak

Članak još uvek nije ocenjen.