omówiliśmy już o operatorze SQL LIKE, który służy do porównywania wartości z podobnymi wartościami za pomocą symbolu wieloznacznego operatorów.
SQL obsługuje dwa operatory wieloznaczne w połączeniu z operatorem LIKE, które są szczegółowo wyjaśnione w poniższej tabeli.
Sr.No. | wieloznaczna& opis |
---|---|
1 |
znak procentowy (%) pasuje do jednego lub więcej znaków. Uwaga − MS Access używa znaku gwiazdki (*) zamiast znaku procentu ( % ). |
2 |
podkreślenie (_) pasuje do jednego znaku. Uwaga-MS Access używa znaku zapytania (?) zamiast podkreślnika ( _ ), aby dopasować dowolny znak. |
znak procentowy reprezentuje zero, jeden lub wiele znaków. Podkreślenie reprezentuje pojedynczą liczbę lub znak. Symbole te mogą być używane w kombinacjach.
składnia
podstawowa składnia operatora '%’ i '_’ jest następująca.
SELECT * FROM table_nameWHERE column LIKE 'XXXX%'or SELECT * FROM table_nameWHERE column LIKE '%XXXX%'orSELECT * FROM table_nameWHERE column LIKE 'XXXX_'orSELECT * FROM table_nameWHERE column LIKE '_XXXX'orSELECT * FROM table_nameWHERE column LIKE '_XXXX_'
Możesz połączyć N liczbę warunków za pomocą operatorów AND lub OR. Tutaj XXXX może być dowolną wartością liczbową lub łańcuchową.
przykład
poniższa tabela zawiera kilka przykładów pokazujących, gdzie część ma różne podobne klauzule z operatorami '%’ i’_’.
Sr.No. | oświadczenie& opis |
---|---|
1 |
gdzie '200%’ znajduje dowolne wartości zaczynające się od 200. |
2 |
gdzie '%200%’ znajduje dowolne wartości, które mają 200 W dowolnej pozycji. |
3 |
gdzie '_00%’ znajduje dowolne wartości, które mają 00 w drugiej i trzeciej pozycji. |
4 |
gdzie '2_%_%’ znajduje dowolne wartości zaczynające się od 2 i mające co najmniej 3 znaki długości. |
5 |
gdzie '%2′ znajduje dowolne wartości, które kończą się na 2. |
6 |
gdzie '_2% 3′ znajduje wszystkie wartości, które mają 2 w drugiej pozycji i kończą się 3. |
7 |
gdzie '2___3′ znajduje dowolne wartości w pięciocyfrowej liczbie, które zaczynają się od 2 i kończą na 3. |
weźmy prawdziwy przykład, rozważmy tabelę klientów zawierającą następujące rekordy.
+----+----------+-----+-----------+----------+| ID | NAME | AGE | ADDRESS | SALARY |+----+----------+-----+-----------+----------+| 1 | Ramesh | 32 | Ahmedabad | 2000.00 || 2 | Khilan | 25 | Delhi | 1500.00 || 3 | kaushik | 23 | Kota | 2000.00 || 4 | Chaitali | 25 | Mumbai | 6500.00 || 5 | Hardik | 27 | Bhopal | 8500.00 || 6 | Komal | 22 | MP | 4500.00 || 7 | Muffy | 24 | Indore | 10000.00 |+----+----------+-----+-----------+----------+
poniższy blok kodu jest przykładem, który wyświetli wszystkie rekordy z tabeli klientów, w których wynagrodzenie zaczyna się od 200.
SQL> SELECT * FROM CUSTOMERSWHERE SALARY LIKE '200%';
spowoduje to następujący wynik.
+----+----------+-----+-----------+----------+| ID | NAME | AGE | ADDRESS | SALARY |+----+----------+-----+-----------+----------+| 1 | Ramesh | 32 | Ahmedabad | 2000.00 || 3 | kaushik | 23 | Kota | 2000.00 |+----+----------+-----+-----------+----------+