Oracle LIKE

Oracle Like



W Oracle i innych relacyjnych bazach danych dopasowywanie wzorców jest popularną funkcją, która umożliwia wyszukiwanie wzorców ciągów przy użyciu specjalnych składni. Na przykład można wyszukać podłańcuch w dużym zestawie ciągów przy użyciu operatorów i funkcji dopasowujących wzorce.

Dzięki temu jest bardzo przydatny do budowania prostych klauzul wyszukiwania bez ponoszenia znacznych spadków wydajności w bazie danych.







W tym samouczku natkniesz się na operator LIKE w Oracle do wykonywania zapytań dopasowujących wzorce.



Operator Oracle LIKE

Operator LIKE w Oracle umożliwia wyszukanie określonego wzorca w danej kolumnie. Możesz na przykład użyć go do znalezienia wszystkich wierszy, w których imię klienta zaczyna się od wzorca „Ja”.



Ten operator często będzie używany w połączeniu z innymi klauzulami SQL, takimi jak klauzula WHERE, do filtrowania naszych wyników na podstawie określonego wzorca.





Możemy wyrazić składnię operatora LIKE w SQL, jak pokazano poniżej:

wyrażenie LIKE wzór [ UCIECZKA „znak_ucieczki” ]



  1. Parametr wyrażenia określa kolumnę, którą chcesz przeszukać.
  2. Parametr pattern definiuje konkretny wzorzec, który chcesz wyszukać. Określony wzorzec może zawierać symbole wieloznaczne, takie jak % i _, aby dopasować odpowiednio dowolną liczbę znaków lub pojedynczy znak.
  3. Możemy również dołączyć klauzulę ESCAPE, aby określić znak ucieczki używany do wyszukiwania rzeczywistych znaków wieloznacznych.

Przykłady operatorów Oracle LIKE

Poniższe przykłady pokazują, jak używać operatora LIKE w tabeli Oracle.

Załóżmy, że mamy tabelę zawierającą informacje o kliencie, jak pokazano poniżej:

Przykład 1 – Używanie symboli wieloznacznych %

Możemy użyć symboli wieloznacznych %, aby dopasować dowolne ciągi składające się z zera lub większej liczby znaków. Na przykład możemy znaleźć wszystkie wpisy w tabeli zawierającej nazwę „Will%”.

Weź tabelę pracowników pokazaną poniżej:

wybierać imię, nazwisko, wynagrodzenie
od PRACOWNIKÓW
gdzie FIRST_NAME lubi 'Wola%'
zamów według imienia;

Poprzednie zapytanie wybiera kolumny imię, nazwisko i wynagrodzenie z tabeli pracowników i porządkuje wynikowe wartości według kolumny imię.

Łączymy również klauzulę where w połączeniu z operatorem LIKE ze znakami wieloznacznymi %, aby pobrać tylko te wiersze, w których imię zaczyna się od „Will”.

To powinno zwrócić wiersze jako:

Możemy również użyć symbolu wieloznacznego %, aby pobrać wiersze, które kończą się określonym wzorcem.

Przykład jest pokazany poniżej:

wybierać imię, nazwisko, wynagrodzenie
od PRACOWNIKÓW
gdzie FIRST_NAME lubi '%jest'
zamów według imienia;

W takim przypadku poprzednie zapytanie powinno zwrócić wszystkie wiersze, w których imię kończy się na „er”. Przykładowa wynikowa wartość jest pokazana poniżej:

Operator LIKE bazy danych Oracle domyślnie uwzględnia wielkość liter, dlatego należy o tym pamiętać podczas wyszukiwania określonych wzorców. Możesz użyć innych funkcji, takich jak dolna i górna, aby zanegować to zachowanie.

Przykład 2 – Użycie klauzuli ucieczki

Poniższy przykład ilustruje sposób użycia klauzuli ESCAPE w operatorze Oracle LIKE:

wybierać imię, nazwisko, wynagrodzenie, procent prowizji
od PRACOWNIKÓW
gdzie prowizja_pct jak 'dwadzieścia\%' ucieczka '\' ;

Poprzednie zapytanie wybiera kolumny imię, nazwisko, wynagrodzenie i procent prowizji z tabeli PRACOWNICY. Klauzula WHERE wykorzystuje operator LIKE z klauzulą ​​ESCAPE do pobrania rekordów, w których kolumna Commission_pct zawiera ciąg znaków „20%” (z dosłownym znakiem %, a nie symbolem wieloznacznym).

W tym przypadku podczas wyszukiwania ciągu znaków 20% pomijamy znak % ukośnikiem odwrotnym (\). Pozwala to operatorowi LIKE wyszukać dokładny ciąg „20%” zamiast traktować znak % jako symbol wieloznaczny.

To zapytanie zwróci wszystkie wiersze z tabeli PRACOWNICY, w których kolumna prowizja_pct zawiera dokładny ciąg „20%”, wraz z kolumnami imię, nazwisko i wynagrodzenie dla tych wierszy.

Wniosek

W tym poście nauczyłeś się, jak używać operatora LIKE w bazach danych Oracle do wyszukiwania określonych wzorców w tabeli. Podano kilka przykładów wyróżniania za pomocą symboli wieloznacznych i klauzuli ESCAPE.