returnerar true om strängen matchar det reguljära uttrycket. Denna funktion liknar liknande predikat, förutom att den använder reguljära uttryck snarare än enkel jokertecken matchning.
Syntax
REGEXP_LIKE( Sträng, mönster)
parametrar
string |
|
||||||||||||
pattern |
en sträng som innehåller det reguljära uttrycket som matchar strängen. Syntaxen för det reguljära uttrycket är kompatibel med Perl 5 reguljära uttryckssyntaxen. Se dokumentationen för Perl reguljära uttryck för mer information. |
||||||||||||
modifiers |
en eller flera flaggor med enstaka tecken som ändrar hur det reguljära uttrycket hittar matchningar i sträng:
|
anteckningar
denna funktion fungerar på UTF-8 strängar med standardlokalen, även om lokalen har ställts in på något annat.
om du porterar en fråga med reguljärt uttryck från en Oracle-databas, kom ihåg att Oracle anser att en nolllängdssträng motsvarar NULL, medan Vertica inte gör det.
exempel
detta exempel skapar en tabell som innehåller flera strängar för att visa reguljära uttryck.
Välj alla poster i tabellen som innehåller bokstaven ”a.”
=> välj v från T där REGEXP_LIKE(v,'A'); v ------ Aaa aaa abc abc1(4 rader)
Välj alla rader i tabellen som börjar med bokstaven ”a”.”
=> välj v från t där REGEXP_LIKE(v,'^A'); v ------ AAA abc abc1(3 rader)
Välj alla rader som innehåller delsträngen ” aa.”
=> välj v från t där REGEXP_LIKE(v,'aa'); v ----- Aaa aaa(2 rader)
Markera alla rader som innehåller en siffra.
= > välj v från t där REGEXP_LIKE (v, '\d'); v ------ 123 abc1 (2 rader)
Välj alla rader som innehåller delsträngen ”aaa.”
=> välj v från T där REGEXP_LIKE(v,'aaa'); v ----- aaa(1 rad)
Välj alla rader som innehåller substringen” aaa ” Med skiftlägeskänslig matchning.
=> välj v från T där REGEXP_LIKE(v,'aaa', 'i'); v ----- Aaa aaa(2 rader)
Välj rader som innehåller underlaget ”a b c.”
=> välj V från t där regexp_like(V,'A B C'); v - - - (0 rader)
Välj rader som innehåller underlaget ”A b c” och ignorerar mellanslag i det reguljära uttrycket.
=> välj v från t där REGEXP_LIKE(v,'a b c','x'); v ------ abc abc1(2 rader)
Lägg till flera rader för att visa med ”m”-modifieraren.
Välj rader som börjar med substring ”Record” och slutar med substring ”line 2.”
=> välj v från t där REGEXP_LIKE(v,'^Record.* linje 2$'); V - - - (0 rader)
Välj rader som börjar med substringen” Record ”och slutar med substringen” line 2″, som behandlar flera rader som separata strängar.