Renvoie true si la chaîne correspond à l’expression régulière. Cette fonction est similaire au prédicat LIKE, sauf qu’elle utilise des expressions régulières plutôt qu’une simple correspondance de caractères génériques.
Syntaxe
REGEXP_LIKE(chaîne, motif)
Paramètres
string |
Le |
||||||||||||
pattern |
Une chaîne contenant l’expression régulière pour correspondre à la chaîne. La syntaxe de l’expression régulière est compatible avec la syntaxe de l’expression régulière Perl 5. Voir la documentation sur les expressions régulières Perl pour plus de détails. |
||||||||||||
modifiers |
Un ou plusieurs indicateurs à un seul caractère qui modifient la façon dont l’expression régulière trouve les correspondances dans une chaîne :
|
Notes
Cette fonction fonctionne sur des chaînes UTF-8 en utilisant les paramètres régionaux par défaut, même si les paramètres régionaux ont été définis sur autre chose.
Si vous portez une requête d’expression régulière à partir d’une base de données Oracle, n’oubliez pas qu’Oracle considère qu’une chaîne de longueur nulle est équivalente à NULL, alors que Vertica ne le fait pas.
Exemples
Cet exemple crée une table contenant plusieurs chaînes pour démontrer les expressions régulières.
Sélectionnez tous les enregistrements de la table contenant la lettre « a ».
= > SÉLECTIONNEZ v À PARTIR DE t OÙ REGEXP_LIKE(v, 'a'); v------ aaa aaa abc abc1 (4 lignes)
Sélectionnez toutes les lignes de la table qui commencent par la lettre « a. »
=>SÉLECTIONNEZ v À PARTIR DE t OÙ REGEXP_LIKE(v, '^a'); v------ aaa abc abc1(3 lignes)
Sélectionnez toutes les lignes qui contiennent la sous-chaîne « aa. »
=>SÉLECTIONNEZ v À PARTIR DE t OÙ REGEXP_LIKE(v, 'aa'); v----- Aaa aaa (2 lignes)
Sélectionnez toutes les lignes contenant un chiffre.
=> SÉLECTIONNEZ v À PARTIR DE t OÙ REGEXP_LIKE(v, '\d'); v ------ 123 abc1(2 lignes)
Sélectionnez toutes les lignes qui contiennent la sous-chaîne « aaa. »
=> SÉLECTIONNEZ v À PARTIR DE t OÙ REGEXP_LIKE(v, 'aaa'); v----- aaa(1 ligne)
Sélectionnez toutes les lignes contenant la sous-chaîne « aaa » en utilisant une correspondance insensible à la casse.
=> SÉLECTIONNEZ v À PARTIR DE t OÙ REGEXP_LIKE(v, 'aaa', 'i'); v----- Aaa aaa (2 lignes)
Sélectionnez les lignes contenant la sous-chaîne « a b c. »
= > SÉLECTIONNEZ v À PARTIR DE t OÙ REGEXP_LIKE(v, 'a b c'); v---(0 lignes)
Sélectionnez les lignes qui contiennent la sous-chaîne « a b c » en ignorant l’espace dans l’expression régulière.
=>SÉLECTIONNEZ v À PARTIR DE t OÙ REGEXP_LIKE(v, 'a b c', 'x'); v------ abc abc1(2 lignes)
Ajoutez des lignes multi-lignes pour démontrer en utilisant le modificateur « m ».
Sélectionnez les lignes qui commencent par la sous-chaîne « Enregistrer » et se terminent par la sous-chaîne « ligne 2. »
=> SÉLECTIONNEZ v à partir de t OÙ REGEXP_LIKE(v, '^Record.* ligne 2''); v---(0 lignes)
Sélectionnez les lignes qui commencent par la sous-chaîne « Record » et se terminent par la sous-chaîne « line 2 », en traitant plusieurs lignes comme des chaînes séparées.