Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak działa NIE PODOBNIE w MySQL

W MySQL możesz użyć NOT LIKE wykonać negację LIKE operator. Innymi słowy, NOT LIKE zwraca przeciwny wynik do LIKE .

Jeśli ciąg pasuje do podanego wzorca, wynikiem jest 0 , w przeciwnym razie jest to 1 .

Wzorzec niekoniecznie musi być dosłownym ciągiem. Ta funkcja może być używana z wyrażeniami łańcuchowymi i kolumnami tabeli.

Składnia

Składnia wygląda tak:

expr NOT LIKE pat [ESCAPE 'escape_char']

Gdzie expr jest ciągiem wejściowym i pat to wzorzec, dla którego testujesz ciąg.

Opcjonalny ESCAPE klauzula umożliwia określenie znaku ucieczki. Domyślny znak ucieczki to \ , więc możesz pominąć tę klauzulę, jeśli nie musisz tego zmieniać.

Ten operator jest odpowiednikiem wykonania następującego zadania:

NOT (expr LIKE pat [ESCAPE 'escape_char'])

Przykład 1 – Podstawowe użycie

Oto przykład użycia tego operatora w SELECT oświadczenie:

SELECT 'Charlie' NOT LIKE 'Char%';

Wynik:

+----------------------------+
| 'Charlie' NOT LIKE 'Char%' |
+----------------------------+
|                          0 |
+----------------------------+

W tym przypadku zwracana wartość to 0 co oznacza, że ​​ciąg wejściowy zrobił faktycznie pasują do wzoru.

Przykład 2 – w porównaniu z LIKE

Tutaj jest porównany z LIKE :

SELECT 
  'Charlie' LIKE 'Char%' AS 'Like',
  'Charlie' NOT LIKE 'Char%' AS 'Not Like';

Wynik:

+------+----------+
| Like | Not Like |
+------+----------+
|    1 |        0 |
+------+----------+

Przykład 3 — równoważna składnia

Jak wspomniano, NOT LIKE jest odpowiednikiem użycia NOT operator logiczny względem LIKE operator. Oto, co mam na myśli:

SELECT 
  'Charlie' NOT LIKE 'Char%' AS 'NOT LIKE syntax',
  NOT ('Charlie' LIKE 'Char%') AS 'Equivalent syntax';

Wynik:

+-----------------+-------------------+
| NOT LIKE syntax | Equivalent syntax |
+-----------------+-------------------+
|               0 |                 0 |
+-----------------+-------------------+

Przykład 4 – Przykład bazy danych

LIKE operator jest często używany w WHERE klauzula SELECT oświadczenie podczas odpytywania bazy danych. Dlatego NOT LIKE może być używany w ten sam sposób.

Kiedy używamy NOT LIKE w ten sposób zawęża wyniki tylko do tych rekordów, które nie pasuje, ale widzimy rzeczywiste wyniki (nie tylko 1 lub 0 ).

Oto przykład, jak możemy użyć tego operatora w zapytaniu do bazy danych:

SELECT ArtistId, ArtistName
FROM Artists
WHERE ArtistName NOT LIKE 'B%';

Wynik:

+----------+------------------------+
| ArtistId | ArtistName             |
+----------+------------------------+
|        1 | Iron Maiden            |
|        2 | AC/DC                  |
|        3 | Allan Holdsworth       |
|        5 | Devin Townsend         |
|        6 | Jim Reeves             |
|        7 | Tom Jones              |
|        8 | Maroon 5               |
|        9 | The Script             |
|       10 | Lit                    |
|       12 | Michael Learns to Rock |
|       13 | Carabao                |
|       14 | Karnivool              |
+----------+------------------------+

W tym przypadku było to proste zapytanie, które zwraca wszystkich wykonawców, których nazwiska nie zacznij od litery B .

Oto pełna lista artystów w tej tabeli:

SELECT ArtistId, ArtistName
FROM Artists;

Wynik:

+----------+------------------------+
| ArtistId | ArtistName             |
+----------+------------------------+
|        1 | Iron Maiden            |
|        2 | AC/DC                  |
|        3 | Allan Holdsworth       |
|        4 | Buddy Rich             |
|        5 | Devin Townsend         |
|        6 | Jim Reeves             |
|        7 | Tom Jones              |
|        8 | Maroon 5               |
|        9 | The Script             |
|       10 | Lit                    |
|       11 | Black Sabbath          |
|       12 | Michael Learns to Rock |
|       13 | Carabao                |
|       14 | Karnivool              |
|       15 | Birds of Tokyo         |
|       16 | Bodyjar                |
+----------+------------------------+

Więc jeśli usuniemy NOT (tzn. po prostu używamy LIKE ) otrzymujemy ten wynik:

SELECT ArtistId, ArtistName
FROM Artists
WHERE ArtistName LIKE 'B%';

Wynik:

+----------+----------------+
| ArtistId | ArtistName     |
+----------+----------------+
|        4 | Buddy Rich     |
|       11 | Black Sabbath  |
|       15 | Birds of Tokyo |
|       16 | Bodyjar        |
+----------+----------------+

Przykład 5 – Ucieczka za pomocą znaku odwróconego ukośnika

Znak odwrotnego ukośnika (\ ) można użyć do zmiany znaczenia dowolnego symbolu wieloznacznego (_ i % ). Oto przykład takiego wyszukiwania ze znakiem ucieczki i bez niego:

SELECT 
  'usr+123' NOT LIKE 'usr_123' AS 'Without escape',
  'usr+123' NOT LIKE 'usr\_123' AS 'With escape';

Wynik:

+----------------+-------------+
| Without escape | With escape |
+----------------+-------------+
|              0 |           1 |
+----------------+-------------+

Przykład 6 – ESCAPE Klauzula

Możesz także użyć ESCAPE klauzula, aby określić własny niestandardowy znak ucieczki. Oto przykład:

SELECT 
  'usr_123' NOT LIKE 'usr|_123' ESCAPE '|' AS 'String 1',
  'usr+123' NOT LIKE 'usr|_123' ESCAPE '|' AS 'String 2';

Wynik:

+----------+----------+
| String 1 | String 2 |
+----------+----------+
|        0 |        1 |
+----------+----------+

Przykład 7 – Wyrażenia numeryczne

Ten operator może być używany w wyrażeniach liczbowych. Oto przykład:

SELECT 
  1234 NOT LIKE '12%',
  1234 NOT LIKE '12_';

Wynik:

+---------------------+---------------------+
| 1234 NOT LIKE '12%' | 1234 NOT LIKE '12_' |
+---------------------+---------------------+
|                   0 |                   1 |
+---------------------+---------------------+

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL SELECT, aby uzyskać pierwsze N ​​dodatnich liczb całkowitych

  2. Tworzenie i używanie procedur składowanych MySQL — samouczek

  3. Funkcja MySQL LOG() — zwraca logarytm naturalny wartości

  4. MySQL CAST vs CONVERT

  5. Jak zainstalować i skonfigurować MySQL na Ubuntu