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

Fonctionnement de l'opérateur RLIKE dans MySQL

Dans MySQL, le RLIKE L'opérateur est utilisé pour déterminer si une chaîne correspond ou non à une expression régulière. C'est un synonyme de REGEXP_LIKE() .

Si la chaîne correspond à l'expression régulière fournie, le résultat est 1 , sinon c'est 0 .

Syntaxe

La syntaxe ressemble à ceci :

expr RLIKE pat

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

Exemple

Voici un exemple d'utilisation de cet opérateur dans un SELECT déclaration :

SELECT 'Tweet' REGEXP '^Tw.*t$';

Résultat :

+--------------------------+
| 'Tweet' REGEXP '^Tw.*t$' |
+--------------------------+
|                        1 |
+--------------------------+

Dans ce cas, la valeur de retour est 1 ce qui signifie que la chaîne d'entrée correspond à l'expression régulière. En particulier, nous avons spécifié que la chaîne d'entrée devait commencer par Tw et terminez par t (c'est parce que nous avons commencé le modèle avec ^Tw et l'a terminé avec t$ ). Le . partie spécifie n'importe quel caractère, et * spécifie qu'il peut être de zéro à n'importe quel nombre de ce (n'importe quel) caractère. Donc .* signifie qu'il ne peut y avoir aucun caractère, un caractère ou plusieurs caractères entre le début et la fin.

Voici ce qui se passe si nous supprimons le * :

SELECT 'Tweet' REGEXP '^Tw.t$';

Résultat :

+-------------------------+
| 'Tweet' REGEXP '^Tw.t$' |
+-------------------------+
|                       0 |
+-------------------------+

Le résultat renvoyé est 0 ce qui signifie pas de correspondance. C'est parce que . spécifie une seule instance de n'importe quel caractère. Notre chaîne d'entrée contient deux instances.

Voici quelques permutations :

SELECT 
  'Twet' REGEXP '^Tw.t$' AS 'Twet',
  'Twit' REGEXP '^Tw.t$' AS 'Twit',
  'Twt' REGEXP '^Tw.t$' AS 'Twt',
  'Tw.t' REGEXP '^Tw.t$' AS 'Tw.t';

Résultat :

+------+------+-----+------+
| Twet | Twit | Twt | Tw.t |
+------+------+-----+------+
|    1 |    1 |   0 |    1 |
+------+------+-----+------+

Plus d'exemples

Pour plus d'exemples, consultez Exemples d'expressions régulières MySQL. Comme RLIKE , la REGEXP L'opérateur est également synonyme de REGEXP_LIKE() .