PostgreSQL LIKE, nie Like, symbole wieloznaczne (%, _ ) Przykłady
PostgreSQL Operator LIKE pomaga nam dopasowywać wartości tekstowe do wzorców za pomocą symboli wieloznacznych. Możliwe jest dopasowanie wyrażenia wyszukiwania do wyrażenia wzorca.
Jeśli wystąpi dopasowanie, operator LIKE zwraca true. Za pomocą operatora LIKE możliwe jest użycie symboli wieloznacznych w klauzuli WHERE instrukcji SELECT, UPDATE, INSERT lub DELETE.
Dzikie karty
Istnieją tylko dwa symbole wieloznaczne, których można używać razem
- Znak procentu (%)
- Podkreślenie (_)
Znak procentu (%) służy do reprezentowania zera, jednego lub wielu znaków bądź cyfr.
Symbol wieloznaczny podkreślenia (_) jest używany do reprezentowania jednego znaku lub liczby. Te symbole można również łączyć. Jeśli operator LIKE nie jest używany razem z tymi dwoma znakami, będzie działał jak operator równości.
Składnia
Oto składnia operatora LIKE:
expression LIKE pattern [ ESCAPE 'escape-character' ]
Wyrażenie jest wyrażeniem znakowym, takim jak kolumna lub pole.
Wzorzec jest wyrażeniem znakowym z dopasowaniem wzorca.
Znak ucieczki jest parametrem opcjonalnym. Umożliwia testowanie dosłownych wystąpień znaków wieloznacznych, takich jak% i _. Jeśli nie zostanie podany, \ zostanie użyty jako znak ucieczki.
Używanie % symbolu wieloznacznego
Jak wspomnieliśmy wcześniej, znak % odpowiada zero, jednemu lub większej liczbie znaków lub liczb. Rozważ poniższą tabelę:
Książka:
Jeśli chcemy, aby książka, której tytuł brzmi jak „Lear…” uzyskała taki wynik, możemy uruchomić następujące polecenie:
SELECT * FROM Book WHERE name LIKE 'Lear%';
Spowoduje to zwrócenie następujących informacji:
Znaleziono książkę.
Wyszukajmy książkę „by” w nazwie:
SELECT * FROM Book WHERE name LIKE '%by%';
Spowoduje to zwrócenie następujących informacji:
Używanie _ symbolu wieloznacznego
Jak wspomnieliśmy wcześniej, znak _ reprezentuje jeden znak lub cyfrę. Można go używać w sposób pokazany poniżej:
SELECT * FROM Book WHERE name LIKE '_earn%';
To zwraca następujące informacje:
Oto kolejny przykład:
SELECT * FROM Book WHERE name LIKE '%Beginner_';
To zwraca następujące informacje:
Używanie NIE OperaTor
Gdy operator LIKE jest połączony z operatorem NOT, zwracany jest każdy wiersz, który nie pasuje do wzorca wyszukiwania. Na przykład, aby zobaczyć książkę, której nazwa nie zaczyna się od „post”, możemy uruchomić następujące polecenie:
SELECT * FROM Book WHERE name NOT LIKE 'Post%';
To zwraca następujące informacje:
Tylko jedna książka spełniła warunek wyszukiwania. Zobaczmy listę tytułów książek, które nie mają słowa „Made”:
SELECT * FROM Book WHERE name NOT LIKE '%Made%';
To zwraca następujące informacje:
Warunek wyszukiwania spełniły 3 wiersze.
Korzystanie z pgAdmina
Zobaczmy teraz, jak można wykonać akcje za pomocą pgAdmin.
Używanie % symbolu wieloznacznego
Krok 1) Zaloguj się na swoje konto pgAdmin.
Krok 2)
- Na pasku nawigacyjnym po lewej stronie kliknij opcję Bazy danych.
- Kliknij opcję Demo.
Krok 3) Wpisz zapytanie w edytorze zapytań:
SELECT * FROM Book WHERE name LIKE 'Lear%';
Krok 4) Kliknij przycisk Wykonaj.
Powinno zostać zwrócone:
Aby wyszukać książkę „by” w nazwie:
Krok 1) Wpisz następujące polecenie w edytorze zapytań:
SELECT * FROM Book WHERE name LIKE '%by%';
Krok 2) Kliknij przycisk Wykonaj.
Powinno zostać zwrócone:
Używanie _ symbolu wieloznacznego
Krok 1) Zaloguj się na swoje konto pgAdmin.
Krok 2)
- Na pasku nawigacyjnym po lewej stronie kliknij opcję Bazy danych.
- Kliknij opcję Demo.
Krok 3) Wpisz zapytanie w edytorze zapytań:
SELECT * FROM Book WHERE name LIKE '_earn%';
Krok 4) Kliknij przycisk Wykonaj.
Powinno zostać zwrócone:
Krok 5) Aby uruchomić drugi przykład:
- Wpisz następujące zapytanie w edytorze zapytań:
SELECT * FROM Book WHERE name LIKE '%Beginner_';
- Kliknij przycisk Wykonaj.
Powinno zostać zwrócone:
Używanie NIE OperaTor
Krok 1) Zaloguj się na swoje konto pgAdmin.
Krok 2)
- Na pasku nawigacyjnym po lewej stronie kliknij opcję Bazy danych.
- Kliknij opcję Demo.
Krok 3) Aby wyświetlić wszystkie książki, których nazwy nie zaczynają się od „Post”, wpisz zapytanie w edytorze zapytań:
SELECT * FROM Book WHERE name NOT LIKE 'Post%';
Krok 4) Kliknij przycisk Wykonaj.
Powinno zostać zwrócone:
Aby zobaczyć listę książek, których nazwa nie zawiera słowa „Made”:
Krok 1) Wpisz następujące zapytanie w edytorze zapytań:
SELECT * FROM Book WHERE name NOT LIKE '%Made%';
Krok 2) Kliknij przycisk Wykonaj.
Powinno zostać zwrócone:
Podsumowanie
- PostgreSQL LIKE służy do dopasowywania wartości tekstowych do wzorców za pomocą symboli wieloznacznych.
- Klauzula LIKE pozwala nam używać symboli wieloznacznych w SELECT, UPDATE, INSERT lub DELETE.
- Symbol wieloznaczny % pasuje do jednej lub więcej wartości. Wartości mogą być liczbami lub znakami.
- Symbol wieloznaczny _ odpowiada dokładnie jednej wartości. Wartością może być znak lub liczba.
- Operator LIKE można łączyć z operatorem NOT, aby zwrócić dowolny wiersz, który nie pasuje do wzorca wyszukiwania.
Pobierz bazę danych używaną w tym samouczku