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

Jak NIE REGEXP działa w MySQL?

W MySQL, NOT REGEXP jest negacją REGEXP operatora.

Innymi słowy, jeśli ciąg pasuje do podanego wyrażenia regularnego, wynikiem jest 0 , w przeciwnym razie jest to 1 . Jest to wynik odwrotny do tego, co REGEXP zwróci (gdy nie ma przedrostka NOT ).

Składnia

Składnia wygląda tak:

expr NOT REGEXP pat

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

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

NOT (expr REGEXP pat)

Przykład 1 – Podstawowe użycie

Oto przykład, jak użyć tego w SELECT oświadczenie:

SELECT 'Bread' NOT REGEXP '^Br' AS 'Result';

Wynik:

+--------+
| Result |
+--------+
|      0 |
+--------+

Tutaj wzorzec jest dopasowany, jeśli ciąg wejściowy zaczyna się od Br . Tak, ale ponieważ używamy NOT REGEXP , otrzymujemy wynik ujemny (0 ).

Powyższe stwierdzenie jest odpowiednikiem zrobienia tego:

SELECT NOT ('Bread' REGEXP '^Br') AS 'Result';

Wynik:

+--------+
| Result |
+--------+
|      0 |
+--------+

Przykład 2 – w porównaniu z REGEXP

Aby było jasne, tutaj porównujemy wyniki z REGEXP i NOT REGEXP :

SELECT 
  'Bread' REGEXP '^Br' AS 'REGEXP',
  'Bread' NOT REGEXP '^Br' AS 'NOT REGEXP';

Wynik:

+--------+------------+
| REGEXP | NOT REGEXP |
+--------+------------+
|      1 |          0 |
+--------+------------+

Przykład 3 – Pozytywny wynik

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

SELECT 
  'Sofa' REGEXP '^Br' AS 'REGEXP',
  'Sofa' NOT REGEXP '^Br' AS 'NOT REGEXP';

Wynik:

+--------+------------+
| REGEXP | NOT REGEXP |
+--------+------------+
|      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. Instalacja Neo4j

  2. MySQL – MariaDB – pisanie pierwszej procedury przechowywanej

  3. Eksportujesz wyniki zapytania Mysql do programu Excel?

  4. Na zduplikowanym kluczu zignorować?

  5. Wybierz bazę danych MySQL w systemie Linux za pomocą wiersza poleceń