MariaDB
 sql >> Baza danych >  >> RDS >> MariaDB

Jak NOT RLIKE działa w MariaDB

W MariaDB, NOT RLIKE jest negacją RLIKE operatora.

Innymi słowy, za każdym razem RLIKE operator zwróci 1 , NOT RLIKE zwróci 0 .

Składnia

Składnia wygląda tak:

expr NOT RLIKE pat

Gdzie expr jest ciągiem wejściowym i pat jest wyrażeniem regularnym, dla którego testujesz ciąg.

Jest to równoznaczne z wykonaniem następujących czynności:

NOT (expr RLIKE pat)

Przykład

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

SELECT 'Coffee' NOT RLIKE '^C.*e$';

Wynik:

+-----------------------------+
| 'Coffee' NOT RLIKE '^C.*e$' |
+-----------------------------+
|                           0 |
+-----------------------------+

Tutaj wzorzec jest dopasowany, jeśli ciąg wejściowy zaczyna się od C i kończy się na e . Działa, ale ponieważ używamy NOT RLIKE , otrzymujemy wynik ujemny (0 ).

Powyższe stwierdzenie jest odpowiednikiem zrobienia tego:

SELECT NOT ('Coffee' RLIKE '^C.*e$');

Wynik:

+-------------------------------+
| NOT ('Coffee' RLIKE '^C.*e$') |
+-------------------------------+
|                             0 |
+-------------------------------+

W porównaniu z RLIKE

Tutaj porównujemy wyniki z RLIKE z NOT RLIKE :

SELECT 
  'Coffee' RLIKE '^C.*e$' AS "RLIKE",
  'Coffee' NOT RLIKE '^C.*e$' AS "NOT RLIKE";

Wynik:

+-------+-----------+
| RLIKE | NOT RLIKE |
+-------+-----------+
|     1 |         0 |
+-------+-----------+

Pozytywny wynik

Poprzednie przykłady dały wynik 0 dla NOT RLIKE , ponieważ ciąg zrobił faktycznie pasują do wzoru. Oto przykład, w którym otrzymujemy 1 , co oznacza, że ​​ciąg nie dopasowanie:

SELECT 
  'Funny' RLIKE '^C.*e$' AS "RLIKE",
  'Funny' NOT RLIKE '^C.*e$' AS "NOT RLIKE";

Wynik:

+-------+-----------+
| RLIKE | NOT RLIKE |
+-------+-----------+
|     0 |         1 |
+-------+-----------+

Alternatywne

MariaDB zawiera wiele funkcji i operatorów, które zasadniczo robią to samo, a dotyczy to również NOT RLIKE .

  1. RLIKE jest synonimem REGEXP operator.
  2. NOT RLIKE jest odpowiednikiem NOT REGEXP .
  3. RLIKE i REGEXP można zanegować, po prostu używając NOT operator logiczny.

Dlatego wszystkie poniższe są równoważne:

expr NOT RLIKE pat
expr NOT REGEXP pat
NOT (expr RLIKE pat)
NOT (expr REGEXP pat)

A oto przykład do zademonstrowania:

SELECT 
  'Car' NOT RLIKE '^C' AS "Result 1",
  'Car' NOT REGEXP '^C' AS "Result 2",
  NOT ('Car' RLIKE '^C') AS "Result 3",
  NOT ('Car' REGEXP '^C') AS "Result 4";

Wynik:

+----------+----------+----------+----------+
| Result 1 | Result 2 | Result 3 | Result 4 |
+----------+----------+----------+----------+
|        0 |        0 |        0 |        0 |
+----------+----------+----------+----------+

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Przewodnik po replikacji strumieniowej MySQL Galera Cluster:część pierwsza

  2. Jak działa funkcja LOWER() w MariaDB

  3. Wybór serwera proxy bazy danych dla MySQL i MariaDB

  4. MariaDB JSON_DEPTH() Objaśnienie

  5. Jak ustawić MariaDB tak, aby używała wyjścia pionowego?