MariaDB
 sql >> Base de données >  >> RDS >> MariaDB

Comment NOT REGEXP fonctionne dans MariaDB

Dans MariaDB, le NOT REGEXP l'opérateur est une négation de REGEXP opérateur.

Si la chaîne correspond à l'expression régulière fournie, le résultat est 0 , sinon c'est 1 . C'est le résultat opposé à ce que le REGEXP renverrait (lorsqu'il n'est pas préfixé par NOT ).

Syntaxe

La syntaxe ressemble à ceci :

expr NOT REGEXP pat

expr est la chaîne d'entrée et pat est l'expression régulière pour laquelle vous testez la chaîne.

C'est l'équivalent de faire ce qui suit :

NOT (expr REGEXP pat)

Exemple

Voici un exemple d'utilisation dans un SELECT déclaration :

SELECT 'Bread' NOT REGEXP '^Br';

Résultat :

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

Ici, le modèle est mis en correspondance si la chaîne d'entrée commence par Br . C'est le cas, mais parce que nous utilisons NOT REGEXP , on obtient un résultat négatif (0 ).

La déclaration ci-dessus est l'équivalent de ceci :

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

Résultat :

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

Par rapport à REGEXP

Dans cet exemple, nous comparons les résultats de REGEXP et NOT REGEXP :

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

Résultat :

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

Un résultat positif

Les exemples précédents ont donné 0 pour NOT REGEXP , car la chaîne a fait correspondent réellement au modèle. Voici un exemple où nous obtenons un 1 , ce qui indique que la chaîne ne le fait pas correspondance :

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

Résultat :

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