Dans une expression quelconque, si une des chaînes est sensible à la casse, alors la comparaison tiendra compte de la casse.
expr1 LIKE expr2 [ESCAPE 'escape-char']
Expression régulière SQL. Retourne 1 (TRUE) ou 0 (FALSE). Avec LIKE, les caractères spéciaux suivants sont disponibles :@:
mysql> select 'David!' LIKE 'David_'; -> 1 mysql> select 'David!' LIKE '%D%v%'; -> 1
Pour tester la présence d'un des caractères spéciaux, il suffit de faire précéder du caractère d'échappement. Si ce dernier n'est pas précisé, le caractère ``'' est alors utilisé.
mysql> select 'David!' LIKE 'David_'; -> 0 mysql> select 'David_' LIKE 'David_'; -> 1
Pour spécifier un autre caractère d'échappement, il faut utiliser la clause ESCAPE :@:
mysql> select 'David_' LIKE 'David|_' ESCAPE '|'; -> 1
LIKE peut travailler avec des expressions numériques (c'est une extension de la norme ANSI SQL.)
mysql> select 10 LIKE '1%'; -> 1
Note:@: Comme MySQL utilise le système d'échappement du langage C (e.g., ``n''), il faut doubler toutes les occurrences dans les clause LIKE. Par exemple, pour rechercher le caractère ``n'', il faut mettre la chaîne ``\n''. Pour recherche le caractère for ``'', il faut l'écrire ``\\'' (les backslashes sont supprimés une première fois par l'analyseur syntaxique, et une deuxième fois, quand la recherche est terminée : ce qui laisse un seul backslash à rechercher).
expr1 NOT LIKE expr2 [ESCAPE 'escape-char']
Identique à NOT (expr1 LIKE expr2 [ESCAPE 'escape-char']).
expression REGEXP pat
expression RLIKE pat
Effectue une chercher sur la chaîne expression avec le masque pat. Le pattern peut être une expression régulière étendue. Retoune 1 si l'expression régulière réussit, 0. RLIKE est un synonyme pour REGEXP, fourni pour assurer la compatibilité avec mSQL Note:@: Comme MySQL utilise le système d'échappement du langage C (e.g., ``n''), il faut doubler toutes les occurrences dans les clause. REGEXP .
mysql> select 'Monty!' REGEXP 'm%y%%'; -> 0 mysql> select 'Monty!' REGEXP '.*'; -> 1 mysql> select 'new*n*line' REGEXP 'new\*.\*line'; -> 1
REGEXP et RLIKE utilisent le jeu de caractère (ISO-8859-1 Latin1 par défaut) pour choisir le type de caractère.
expression NOT REGEXP expression
Identique à NOT (expression REGEXP expression ).
STRCMP(expr1,expr2)
STRCMP() retourne 0 si les chaînes sont identiques, -1 si le premier argument est plus petit que le second, en fonction de l'ordre de tri courant, et sinon 1 .
mysql> select STRCMP('text', 'text2');
-> -1
mysql> select STRCMP('text2', 'text');
-> 1
mysql> select STRCMP('text', 'text');
-> 0