MariaDB
 sql >> Datenbank >  >> RDS >> MariaDB

Wie NOT REGEXP in MariaDB funktioniert

In MariaDB die NOT REGEXP Operator ist eine Negation des REGEXP Betreiber.

Wenn die Zeichenfolge mit dem bereitgestellten regulären Ausdruck übereinstimmt, ist das Ergebnis 0 , andernfalls ist es 1 . Dies ist das gegenteilige Ergebnis zu dem, was REGEXP zurückgeben würde (wenn ihm nicht NOT vorangestellt ist ).

Syntax

Die Syntax lautet wie folgt:

expr NOT REGEXP pat

Wobei expr ist die Eingabezeichenfolge und pat ist der reguläre Ausdruck, für den Sie die Zeichenfolge testen.

Dies entspricht dem folgenden Vorgang:

NOT (expr REGEXP pat)

Beispiel

Hier ist ein Beispiel für die Verwendung in einem SELECT Aussage:

SELECT 'Bread' NOT REGEXP '^Br';

Ergebnis:

+--------------------------+
| 'Bread' NOT REGEXP '^Br' |
+--------------------------+
|                        0 |
+--------------------------+

Hier wird das Muster abgeglichen, wenn der Eingabestring mit Br beginnt . Das tut es, aber weil wir NOT REGEXP verwenden erhalten wir ein negatives Ergebnis (0 ).

Die obige Anweisung ist das Äquivalent dazu:

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

Ergebnis:

+----------------------------+
| NOT ('Bread' REGEXP '^Br') |
+----------------------------+
|                          0 |
+----------------------------+

Im Vergleich zu REGEXP

In diesem Beispiel vergleichen wir die Ergebnisse von REGEXP und NOT REGEXP :

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

Ergebnis:

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

Ein positives Ergebnis

Die vorherigen Beispiele führten zu 0 für NOT REGEXP , weil der String tat stimmt eigentlich mit dem Muster überein. Hier ist ein Beispiel, wo wir eine 1 erhalten , was anzeigt, dass die Zeichenfolge nicht Übereinstimmung:

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

Ergebnis:

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