- Catégories :
REGEXP_LIKE¶
Effectue une comparaison pour déterminer si une chaîne correspond à un modèle spécifié. Les deux entrées doivent être des expressions textuelles.
REGEXP_LIKE est similaire à la fonction [ NOT ] LIKE, mais avec des expressions régulières étendues POSIX au lieu de la syntaxe de modèle SQL LIKE. Il prend en charge des conditions de correspondance plus complexes que LIKE.
Astuce
Vous pouvez utiliser le service d’optimisation de recherche pour améliorer les performances des requêtes qui appellent cette fonction. Pour plus de détails, voir Service d’optimisation de la recherche.
- Alias:
[ NOT ] RLIKE (1ère syntaxe)
Voir aussi : Fonctions de chaîne (expressions régulières)
Syntaxe¶
REGEXP_LIKE( <subject> , <pattern> [ , <parameters> ] )
Arguments¶
Obligatoire :
subject
Sujet devant correspondre.
pattern
Modèle devant correspondre.
Facultatif :
parameters
Chaîne d’un ou plusieurs caractères spécifiant les paramètres utilisés pour la recherche de correspondances. Valeurs prises en charge :
c
,i
,m
,e
,s
Pour plus de détails, voir Spécification des paramètres de l’expression régulière.
Par défaut :
c
Renvoie¶
Renvoie un BOOLEAN ou un NULL. La valeur est TRUE s’il y a une correspondance. Sinon, renvoie FALSE. Renvoie NULL si l’un des arguments est NULL.
Notes sur l’utilisation¶
La fonction ancre implicitement un motif aux deux extrémités (c.-à-d. que
''
devient automatiquement'^$'
et'ABC'
devient automatiquement'^ABC$'
). Pour faire correspondre n’importe quelle chaîne commençant par ABC, le motif serait'ABC.*'
.Le caractère barre oblique inverse (
\
) est le caractère d’échappement. Pour plus d’informations, voir Spécification d’expressions régulières dans des constantes de chaîne entre guillemets simples.Pour plus de notes sur l’utilisation, voir Notes générales sur l’utilisation pour les fonctions d’expression régulière.
Détails du classement¶
Arguments with collation specifications are currently not supported.
Exemples¶
Créer une table avec les noms des villes :
CREATE OR REPLACE TABLE cities(city varchar(20)); INSERT INTO cities VALUES ('Sacramento'), ('San Francisco'), ('San Jose'), (null);
Exécuter une requête sensible à la casse avec un caractère générique :
SELECT * FROM cities WHERE REGEXP_LIKE(city, 'san.*');+------+ | CITY | |------| +------+
Exécuter une requête insensible à la casse avec un caractère générique :
SELECT * FROM cities WHERE REGEXP_LIKE(city, 'san.*', 'i');+---------------+ | CITY | |---------------| | San Francisco | | San Jose | +---------------+
Pour des exemples supplémentaires d’expressions régulières, voir [ NOT ] REGEXP.
Pour rechercher un caractère générique, vous devez échapper le caractère générique. Pour plus d’informations sur les caractères génériques, voir Spécification d’expressions régulières dans des constantes de chaîne entre guillemets simples.