W Oracle i innych relacyjnych bazach danych dopasowanie wzorów jest popularną funkcją, która pozwala wyszukiwać wzorce ciągów za pomocą specjalnych składni. Na przykład możesz wyszukać podłoże w dużym zestawie ciągów za pomocą operatorów i funkcji dopasowywania wzorów.
To sprawia, że jest to bardzo przydatne do budowania prostych klauzul wyszukiwania bez ponoszenia znacznych kar w bazie danych.
W tym samouczku natkniesz się na podobny operator w Oracle, aby wykonywać zapytania dopasowujące wzory.
Wyrocznia jak operator
Operator podobny w Oracle umożliwia wyszukiwanie określonego wzoru w danej kolumnie. Na przykład możesz go użyć, aby znaleźć wszystkie wiersze, w których imię klienta zaczyna się od wzoru „JA”.
Często znajdziesz ten operator używany w połączeniu z innymi klauzulami SQL, takimi jak klauzula Where, do filtrowania naszych wyników na podstawie określonego wzoru.
Możemy wyrazić składnię podobnego operatora w SQL, jak pokazano poniżej:
Wyrażenie jak wzór [Escape „Escape_character”]
Przykłady jak operator
Poniższe przykłady pokazują, jak korzystać z podobnego operatora w tabeli Oracle.
Załóżmy, że mamy tabelę zawierającą informacje o kliencie, jak pokazano poniżej:
Przykład 1 - Korzystanie z znaków % dzikiej karty
Możemy użyć % znaków wieloznacznych, aby dopasować wszelkie struny zero lub więcej znaków. Na przykład możemy znaleźć wszystkie wpisy w tabeli zawierającej nazwę „Will%”.
Weź tabelę pracowników pokazaną poniżej:
Wybierz nazwę pierwszej nazwy, pensja, wynagrodzenie
od pracowników
gdzie nazwa pierwszej_
zamów według nazwy pierwszej;
Poprzednie zapytanie wybiera nazwę pierwszej nazwy, nazwy Last_name i pensji z tabeli pracowników i zamawia wynikowe wartości według kolumny pierwszej nazwy_.
Łączymy również klauzulę Where w połączeniu z podobnym operatorem z % znakami wieloznacznymi, aby pobierać rzędy, w których imię zaczyna się od „woli”.
Powinno to zwrócić wiersze jako:
Możemy również użyć znaku % dzikiej karty, aby pobrać wiersze, które kończą się w określonym wzorze.
Przykład jest pokazany poniżej:
Wybierz nazwę pierwszej nazwy, pensja, wynagrodzenie
od pracowników
gdzie nazwa pierwszej_
zamów według nazwy pierwszej;
W takim przypadku poprzednie zapytanie powinno zwrócić wszystkie wiersze, w których imię kończy się w „ER”. Przykład wynikający z tego wartość pokazano poniżej:
Baza danych Oracle, podobna do operatora, jest domyślnie wrażliwe na wielkość liter, więc należy o tym pamiętać, szukając określonych wzorców. Możesz użyć innych funkcji, takich jak dolna i górna, aby zanotować to zachowanie.
Przykład 2 - Korzystanie z klauzuli ucieczki
Poniższy przykład pokazuje, jak korzystać z klauzuli ucieczki w Oracle Like Operator:
Wybierz nazwę pierwszej nazwy, pensja, pensja, komisja_pct
od pracowników
gdzie commission_pct jak '20 \%„uciekają” \ ';
Poprzednie zapytanie wybiera kolumny First_name, Last_name, wynagrodzenie i prowizja z tabeli pracowników. Klauzula Where używa operatora podobnego z klauzulą ucieczki, aby pobrać zapisy, w których kolumna Commission_Pct zawiera ciąg '20 % '(z dosłownie % znakiem, a nie wieloznaczką).
W tym przypadku uciekamy o wartości % z znakiem odwrotnym (\) podczas wyszukiwania ciągów 20 %. To pozwala operatorowi podobnego wyszukiwać dokładny ciąg '20 % 'zamiast traktować % znaku jako wieloznaczną kartę.
To zapytanie zwróci wszystkie wiersze z tabeli pracowników, w których kolumna Commission_PCT zawiera dokładny ciąg '20%', wraz z pierwszą nazwą, nazwą Last_name i pensji dla tych wierszy.
Wniosek
W tym poście nauczyłeś się, jak korzystać z podobnego operatora w bazach danych Oracle do wyszukiwania określonych wzorców w tabeli. Dostarczono kilka przykładów, aby podkreślić przy użyciu znaków wieloznacznych i klauzuli Escape.