LIKE se koristi u paketu sa MySQL WHERE kada zelite pronaci neke podatke u tabeli na osnovu necega sto vam je poznato, a sto je deo tog podatka.
U par crta, LIKE koristite kada trazite vrednosti u tabeli:
SELECT kolona
FROM tabela
WHERE kolona LIKE kriterijum;
Na primer, trebaju nam svi podaci za nekoga cije ime pocinje sa "P":
mysql> SELECT * FROM kucni
-> WHERE ime LIKE 'P%';
+----+---------+-------------+---------+
| id | ime | prezime | telefon |
+----+---------+-------------+---------+
| 1 | Petar | Peric | 888555 |
| 5 | Predrag | Predragovic | 333888 |
| 6 | Petar | Petrovic | 555555 |
+----+---------+-------------+---------+
3 rows in set (0.66 sec)
mysql>
Sada zelimo sva prezimena koja se zavrsavaju na 'ic':
mysql> SELECT * FROM kucni
-> WHERE prezime LIKE '%ic';
+----+---------+-------------+---------+
| id | ime | prezime | telefon |
+----+---------+-------------+---------+
| 1 | Petar | Peric | 888555 |
| 2 | Milutin | Miric | 111222 |
| 3 | Zoran | Zorisic | 999555 |
| 4 | Marko | Markovic | 787878 |
| 5 | Predrag | Predragovic | 333888 |
| 6 | Petar | Petrovic | 555555 |
+----+---------+-------------+---------+
6 rows in set (0.00 sec)
mysql>
Mozda su nam potrebni brojevi telefona koji pocinju na '8' ?
mysql> SELECT * FROM kucni
-> WHERE telefon LIKE '8%';
+----+-------+---------+---------+
| id | ime | prezime | telefon |
+----+-------+---------+---------+
| 1 | Petar | Peric | 888555 |
+----+-------+---------+---------+
1 row in set (0.00 sec)
mysql>
Sta ako znamo neka slova koja se nalaze u SREDINI polja ? Na primer, znamo da u prezimenu imamo 4 slova i to "drag":
mysql> SELECT * FROM kucni
-> WHERE prezime LIKE '%drag%';
+----+---------+-------------+---------+
| id | ime | prezime | telefon |
+----+---------+-------------+---------+
| 5 | Predrag | Predragovic | 333888 |
+----+---------+-------------+---------+
1 row in set (0.02 sec)
mysql>
Sta ako ZNAMO neki podatak koji ZELIMO da ZAOBIDJEMO u izvestaju ?
Tada cemo koristiti NOT LIKE.
Na primer, zelimo sva imena koja ne pocinju sa 'P':
mysql> SELECT * FROM kucni
-> WHERE ime NOT LIKE 'P%';
+----+---------+----------+---------+
| id | ime | prezime | telefon |
+----+---------+----------+---------+
| 2 | Milutin | Miric | 111222 |
| 3 | Zoran | Zorisic | 999555 |
| 4 | Marko | Markovic | 787878 |
+----+---------+----------+---------+
3 rows in set (0.05 sec)
mysql>
Isto tako, ne zelimo imena koja se zavrsavaju na 'in':
mysql> SELECT * FROM kucni
-> WHERE ime NOT LIKE '%in';
+----+---------+-------------+---------+
| id | ime | prezime | telefon |
+----+---------+-------------+---------+
| 1 | Petar | Peric | 888555 |
| 3 | Zoran | Zorisic | 999555 |
| 4 | Marko | Markovic | 787878 |
| 5 | Predrag | Predragovic | 333888 |
| 6 | Petar | Petrovic | 555555 |
+----+---------+-------------+---------+
5 rows in set (0.01 sec)
mysql>
2014 © webprogramianje.net - Sva prava su zadržana. 




