niedziela, 2 września 2018

SQL – klauzula LIKE


SQL – klauzula LIKE

Klauzula SQL LIKE służy do porównywania wartości z podobnymi wartościami za pomocą operatorów wieloznacznych. Istnieją dwa symbole wieloznaczne używane w połączeniu z operatorem LIKE.
  • Znak procentu (%)
  • Podkreślenie (_)
Znak procentu reprezentuje zero, jeden lub wiele znaków. Podkreślenie reprezentuje pojedynczą liczbę lub znak. Symbole te można stosować w kombinacjach.
Składnia
Podstawowa składnia% i _ jest następująca:
SELECT FROM nazwa_tabeli
WHERE kolumna LIKE 'XXXX%'

lub

SELECT FROM nazwa_tabeli
WHERE kolumna LIKE '%XXXX%'

lub

SELECT FROM nazwa_tabeli
WHERE kolumna LIKE 'XXXX_'

lub

SELECT FROM nazwa_tabeli
WHERE kolumna LIKE '_XXXX'

lub

SELECT FROM nazwa_tabeli
WHERE kolumna LIKE '_XXXX_'
Możesz łączyć liczbę warunków za pomocą operatorów AND lub OR. W tym przypadku XXXX może być dowolną wartością numeryczną lub ciągową.
Przykład
Poniższa tabela zawiera kilka przykładów pokazujących, że część WHERE ma inną klauzulę LIKE z operatorami "%" i "_" -
L.p.
Wyrażenie i opis
1
WHERE PENSJA LIKE "200%"
Znajduje wszystkie wartości zaczynające się od 200.
2
WHERE PENSJA LIKE "%200%"
Znajduje dowolne wartości, które mają 200 w dowolnej pozycji.
3
WHERE PENSJA LIKE "_00%"
Znajduje wszystkie wartości, które mają 00 na drugiej i trzeciej pozycji.
4
WHERE SALARY LIKE "2 _% _%"
Znajduje wszystkie wartości zaczynające się od 2 i mające co najmniej 3 znaki.
5
WHERE PENSJA LIKE "% 2"
Znajduje wszystkie wartości, które kończą się na 2.
6
WHERE PENSJA LIKE "_2% 3"
Znajduje wszystkie wartości, które mają 2 na drugiej pozycji i kończy na 3.
7
WHERE PENSJA LIKE "2___3"
Znajduje dowolne wartości w pięciocyfrowym numerze zaczynającym się od 2, a kończącym na 3.
Weźmy prawdziwy przykład, weź pod uwagę tabelę KLIENCI, która ma wpisy, jak pokazano poniżej.
+----+----------+-----+-----------+----------+
id,   nazwisko,   wiek,  adres,        pensja
'1', 'Zawadzki',  '32', 'Warszawska', '2000.00'
'2', 'Kowalczyk', '25', 'Sokratesa',  '1500.00'
'3', 'Kot',       '23', 'Darwina',    '3500.00'
'4', 'Kowalska',  '25', 'Modlińska',  '6500.00'
'5', 'Sapal',     '27', 'Wspólna',    '8500.00'
'6', 'Nowak',     '22', 'Nalewki',    '4500.00'
'7', 'Makowska',  '24', 'Piaseczno',  '10000.00'
+----+----------+-----+-----------+----------+
Poniżej znajduje się przykład, który wyświetli wszystkie rekordy z tabeli KLIENCI, gdzie PENSJA rozpoczyna się od 200.
SQL> SELECT * FROM KLIENCI
WHERE PENSJA LIKE '200%';
To dałoby następujący wynik -
+----+----------+-----+-----------+----------+
id,   nazwisko,   wiek, adres,         pensja
'1', 'Zawadzki', '32',  'Warszawska', '2000.00'
'3', 'Kot',      '23',  'Darwina',    '2000.00'
+----+----------+-----+-----------+----------+


Brak komentarzy:

Prześlij komentarz