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:

Używanie % symbolu wieloznacznego

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:

Używanie % symbolu wieloznacznego

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

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:

Używanie _ symbolu wieloznacznego

Oto kolejny przykład:

SELECT *
FROM
   Book
WHERE
   name LIKE '%Beginner_';

To zwraca następujące informacje:

Używanie _ symbolu wieloznacznego

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:

Używanie NIE OperaTor

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:

Używanie NIE OperaTor

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)

  1. Na pasku nawigacyjnym po lewej stronie kliknij opcję Bazy danych.
  2. Kliknij opcję Demo.

Używanie pgAdmin z % symbolem wieloznacznym

Krok 3) Wpisz zapytanie w edytorze zapytań:

SELECT *
FROM
   Book
WHERE
   name LIKE 'Lear%';

Krok 4) Kliknij przycisk Wykonaj.

Używanie pgAdmin z % symbolem wieloznacznym

Powinno zostać zwrócone:

Używanie pgAdmin z % symbolem wieloznacznym

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.

Używanie pgAdmin z % symbolem wieloznacznym

Powinno zostać zwrócone:

Używanie pgAdmin z % symbolem wieloznacznym

Używanie _ symbolu wieloznacznego

Krok 1) Zaloguj się na swoje konto pgAdmin.

Krok 2)

  1. Na pasku nawigacyjnym po lewej stronie kliknij opcję Bazy danych.
  2. Kliknij opcję Demo.

Używanie pgAdmin z _ symbolem wieloznacznym

Krok 3) Wpisz zapytanie w edytorze zapytań:

SELECT *
FROM
   Book
WHERE
   name LIKE '_earn%';

Krok 4) Kliknij przycisk Wykonaj.

Używanie pgAdmin z _ symbolem wieloznacznym

Powinno zostać zwrócone:

Używanie pgAdmin z _ symbolem wieloznacznym

Krok 5) Aby uruchomić drugi przykład:

  1. Wpisz następujące zapytanie w edytorze zapytań:
    SELECT *
    FROM
       Book
    WHERE
       name LIKE '%Beginner_';
    
  2. Kliknij przycisk Wykonaj.

Używanie pgAdmin z _ symbolem wieloznacznym

Powinno zostać zwrócone:

Używanie pgAdmin z _ symbolem wieloznacznym

Używanie NIE OperaTor

Krok 1) Zaloguj się na swoje konto pgAdmin.

Krok 2)

  1. Na pasku nawigacyjnym po lewej stronie kliknij opcję Bazy danych.
  2. Kliknij opcję Demo.

Używanie NIE OperaTor w pgAdmin

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.

Używanie NIE OperaTor w pgAdmin

Powinno zostać zwrócone:

Używanie NIE OperaTor w pgAdmin

Używanie NIE OperaTor w pgAdmin

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.

Używanie NIE OperaTor w pgAdmin

Powinno zostać zwrócone:

Używanie NIE OperaTor w pgAdmin

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