Operator PostgreSQL LIKE pomaga nam dopasować wartości tekstowe do wzorców za pomocą symboli wieloznacznych. Możliwe jest dopasowanie wyszukiwanego wyrażenia do wyrażenia wzorcowego.
W przypadku dopasowania operator LIKE zwraca wartość true. Za pomocą operatora LIKE można używać symboli wieloznacznych w klauzuli WHERE instrukcji SELECT, UPDATE, INSERT lub DELETE.
W tym samouczku PostgreSQL nauczysz się następujących rzeczy:
- Dzikie karty
- Składnia
- Używam% wildcard
- Korzystanie z _ wildcard
- Używanie operatora NOT
- Korzystanie z pgAdmin
Dzikie karty
Istnieją tylko dwa symbole wieloznaczne, których można używać razem z
- Znak procentu (%)
- Podkreślenie (_)
Znak procentu (%) służy do reprezentowania zera, jednego lub wielu znaków lub liczb.
Symbol podkreślenia (_) jest używany do reprezentowania jednego znaku lub liczby. Symbole te 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 do wzorca.
Znak ucieczki jest opcjonalnym parametrem. Umożliwia testowanie dosłownych wystąpień znaków wieloznacznych, takich jak% i _. Jeśli nie zostanie podany, \ będzie używany jako znak zmiany znaczenia.
Używam% wildcard
Jak powiedzieliśmy wcześniej, znak% oznacza zero, jeden lub więcej znaków lub cyfr. Rozważ następującą tabelę:
Książka:
Chcemy książki, której nazwa brzmi „Lear
… ”Aby uzyskać ten wynik, możemy uruchomić następujące polecenie:SELECT *FROMBookWHEREname LIKE 'Lear%';
Zwróci to:
Książka została znaleziona.
Wyszukajmy książkę „według” w jej nazwie:
SELECT *FROMBookWHEREname LIKE '%by%';
Zwróci to:
Korzystanie z _ wildcard
Jak powiedzieliśmy wcześniej, znak _ reprezentuje jeden znak lub liczbę. Można go używać, jak pokazano poniżej:
SELECT *FROMBookWHEREname LIKE '_earn%';
Zwraca to:
Oto kolejny przykład:
SELECT *FROMBookWHEREname LIKE '%Beginner_';
Zwraca to:
Używanie operatora NOT
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 słowa „post”, możemy uruchomić następujące polecenie:
SELECT *FROMBookWHEREname NOT LIKE 'Post%';
Zwraca to:
Tylko jedna książka spełniła warunek wyszukiwania. Zobaczmy listę tytułów książek, które nie zawierają słowa „Made”:
SELECT *FROMBookWHEREname NOT LIKE '%Made%';
Zwraca to:
3 wiersze spełniły warunek wyszukiwania.
Korzystanie z pgAdmin
Zobaczmy teraz, jak można wykonać akcje za pomocą pgAdmin.
Używam% wildcard
Krok 1) Zaloguj się do swojego konta pgAdmin.
Krok 2)
- Z paska nawigacji po lewej stronie kliknij Bazy danych.
- Kliknij opcję Demo.
Krok 3) Wpisz zapytanie w edytorze zapytań:
SELECT *FROMBookWHEREname LIKE 'Lear%';
Krok 4) Kliknij przycisk Wykonaj.
Powinien zwrócić następujące informacje:
Aby wyszukać książkę „według” w jej nazwie:
Krok 1) Wpisz następujące polecenie w edytorze zapytań:
SELECT *FROMBookWHEREname LIKE '%by%';
Krok 2) Kliknij przycisk Wykonaj.
Powinien zwrócić następujące informacje:
Korzystanie z _ wildcard
Krok 1) Zaloguj się do swojego konta pgAdmin.
Krok 2)
- Z paska nawigacji po lewej stronie kliknij Bazy danych.
- Kliknij opcję Demo.
Krok 3) Wpisz zapytanie w edytorze zapytań:
SELECT *FROMBookWHEREname LIKE '_earn%';
Krok 4) Kliknij przycisk Wykonaj.
Powinien zwrócić następujące informacje:
Krok 5) Aby uruchomić drugi przykład:
- Wpisz następujące zapytanie w edytorze zapytań:
SELECT *FROMBookWHEREname LIKE '%Beginner_';
- Kliknij przycisk Wykonaj.
Powinien zwrócić następujące informacje:
Używanie operatora NOT
Krok 1) Zaloguj się do swojego konta pgAdmin.
Krok 2)
- Z paska nawigacji po lewej stronie kliknij Bazy danych.
- Kliknij opcję Demo.
Krok 3) Aby zobaczyć wszystkie książki, których nazwy nie zaczynają się od „Opublikuj”, wpisz zapytanie w edytorze zapytań:
SELECT *FROMBookWHEREname NOT LIKE 'Post%';
Krok 4) Kliknij przycisk Wykonaj.
Powinien zwrócić następujące informacje:
Aby zobaczyć listę książek, których nazwy nie zawierają słowa „Made”:
Krok 1) Wpisz następujące zapytanie w edytorze zapytań:
SELECT *FROMBookWHEREname NOT LIKE '%Made%';
Krok 2) Kliknij przycisk Wykonaj.
Powinien zwrócić następujące informacje:
Podsumowanie:
- PostgreSQL LIKE jest używany do dopasowywania wartości tekstowych do wzorców przy użyciu symboli wieloznacznych.
- Klauzula LIKE pozwala nam używać symboli wieloznacznych w instrukcjach SELECT, UPDATE, INSERT lub DELETE.
- Symbol wieloznaczny% odpowiada co najmniej jednej wartości. Wartości mogą być liczbami lub znakami.
- Symbol wieloznaczny _ odpowiada dokładnie jednej wartości. Wartość może być literą lub liczbą.
- Operator LIKE można łączyć z operatorem NOT w celu zwrócenia dowolnego wiersza, który nie pasuje do wzorca wyszukiwania.
Pobierz bazę danych używaną w tym samouczku