LIKE w SQL

Słownik kwalifikacji INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych

Operator LIKE służy w SQL do wyszukiwania tekstu pasującego do określonego wzorca. Najczęściej używa się go w klauzuli WHERE, gdy nie chcemy porównywać wartości dokładnie znakiem =, ale sprawdzić np. początek, koniec albo fragment napisu.

Znaki wieloznaczne

W operatorze LIKE najważniejsze są dwa symbole:

  • % — oznacza dowolny ciąg znaków, także pusty,
  • _ — oznacza dokładnie jeden dowolny znak.

Przykłady

Nazwiska zaczynające się na literę Z:

SELECT nazwisko
FROM klient
WHERE nazwisko LIKE 'Z%';

Wzorzec 'Z%' oznacza: pierwszy znak to Z, a po nim może wystąpić dowolna liczba znaków.

Nazwiska kończące się na ski:

SELECT nazwisko
FROM klient
WHERE nazwisko LIKE '%ski';

Nazwiska zawierające fragment kow:

SELECT nazwisko
FROM klient
WHERE nazwisko LIKE '%kow%';

Nazwiska zaczynające się od Z i mające co najmniej dwa znaki:

SELECT nazwisko
FROM klient
WHERE nazwisko LIKE 'Z_%';

Tutaj _ wymaga dokładnie jednego znaku po Z, a % dopuszcza dalsze znaki.

Ważne na egzaminie

Do wyszukiwania według wzorca używa się LIKE, a nie operatora =. Operator = sprawdza dokładną zgodność tekstu, więc warunek nazwisko = 'Z%' szukałby dosłownie napisu Z%, a nie nazwisk zaczynających się na Z.