returnează true dacă șirul se potrivește cu expresia regulată. Această funcție este similară cu predicatul similar, cu excepția faptului că folosește expresii regulate, mai degrabă decât simpla potrivire a caracterelor wildcard.
sintaxă
REGEXP_LIKE( string, pattern )
parametri
string |
|
||||||||||||
pattern |
un șir care conține expresia regulată pentru a se potrivi cu șirul. Sintaxa expresiei regulate este compatibilă cu sintaxa expresiei regulate Perl 5. Consultați documentația pentru expresii regulate Perl pentru detalii. |
||||||||||||
modifiers |
unul sau mai multe steaguri cu un singur caracter care modifică modul în care expresia regulată găsește potriviri în șir:
|
Note
această funcție funcționează pe șiruri UTF-8 folosind setările locale implicite, chiar dacă setările locale au fost setate la altceva.
dacă portați o interogare de expresie regulată dintr-o bază de date Oracle, rețineți că Oracle consideră că un șir de lungime zero este echivalent cu nul, în timp ce Vertica nu.
Exemple
acest exemplu creează un tabel care conține mai multe șiruri pentru a demonstra expresii regulate.
Selectați toate înregistrările din tabel care conțin litera „A.”
=> selectați v din t unde REGEXP_LIKE(v,'a'); v ------ Aaa aaa abc abc1(4 rânduri)
Selectați toate rândurile din tabel care încep cu litera „a.”
=> selectați v din T unde REGEXP_LIKE(v,'^a'); v ------ AAA abc abc1(3 rânduri)
Selectați toate rândurile care conțin substringul ” aa.”
=> selectați v din t unde REGEXP_LIKE(V,'aa'); v ----- Aaa aaa(2 rânduri)
Selectați toate rândurile care conțin o cifră.
=> selectați v din t unde REGEXP_LIKE( v, '\d'); v ------ 123 abc1 (2 rânduri)
Selectați toate rândurile care conțin subșirul „aaa.”
=> selectați v din T unde REGEXP_LIKE(v,'aaa'); v ----- aaa(1 rând)
Selectați toate rândurile care conțin subșirul” AAA ” folosind potrivirea insensibilă la majuscule.
=> selectați v din T unde REGEXP_LIKE(v,'aaa', 'i'); v ----- Aaa aaa(2 rânduri)
selectați rânduri care conțin substringul „A b c.”
=> selectați V din T unde regexp_like(V,'A B C'); V - - - (0 rânduri)
selectați rânduri care conțin subșirul „A b c” ignorând spațiul din expresia regulată.
=> selectați v din T unde REGEXP_LIKE(v,'A b c','x'); v ------ abc abc1(2 rânduri)
adăugați rânduri cu mai multe linii pentru a demonstra folosind modificatorul „m”.
selectați rândurile care încep cu subșirul „înregistrare” și se termină cu subșirul „linia 2.”
=> selectați v din t unde REGEXP_LIKE(V,'^înregistrare.* linia 2$'); V - - - (0 rânduri)
selectați rânduri care încep cu subșirul „înregistrare” și se termină cu subșirul „linia 2”, tratând mai multe linii ca șiruri separate.