geeft true terug als de tekenreeks overeenkomt met de reguliere expressie. Deze functie is vergelijkbaar met het soortgelijke predicaat, behalve dat het reguliere expressies gebruikt in plaats van eenvoudige jokertekens.
Syntax
REGEXP_LIKE( string, pattern )
Parameters
string |
The |
|||||||||||
pattern |
een string die de reguliere expressie bevat die overeenkomt met de string. De syntaxis van de reguliere expressie is compatibel met de Perl 5 reguliere expressie syntaxis. Zie de Perl reguliere expressies documentatie voor details. |
|||||||||||
modifiers |
een of meer vlaggen met één teken die wijzigen hoe de reguliere expressie overeenkomsten vindt in tekenreeks:
|
Notes
Deze functie werkt op UTF-8 strings met behulp van de standaard landinstelling, zelfs als de landinstelling op iets anders is ingesteld.
Als u een reguliere expressiequery uit een Oracle-database poort, onthoud dan dat Oracle een tekenreeks van nullengte als gelijkwaardig aan NULL beschouwt, terwijl Vertica dat niet doet.
voorbeelden
dit voorbeeld maakt een tabel aan die meerdere strings bevat om reguliere expressies aan te tonen.
Selecteer alle records in de tabel die de letter “a”bevatten
=> selecteer v van t waar REGEXP_LIKE(v,'a'); v ------ Aaa aaa abc abc1(4 rijen)
Selecteer alle rijen in de tabel die beginnen met de letter “a.”
= > SELECT v FROM t WHERE REGEXP_LIKE(v, '^A'); v ------ aaa abc abc1(3 rows)
Selecteer alle rijen die de substring “aa bevatten.”
=> SELECT v FROM t WHERE REGEXP_LIKE(v,'aa'); v ----- Aaa aaa(2 rijen)
Selecteer alle rijen die een cijfer bevatten.
= > SELECT V FROM t WHERE REGEXP_LIKE (v, '\d'); v ------ 123 abc1 (2 rijen)
Selecteer alle rijen die de substring “aaa” bevatten.”
=> SELECT v FROM t WHERE REGEXP_LIKE(v,'aaa'); v ----- aaa(1 rij)
Selecteer alle rijen die de substring” aaa ” bevatten met behulp van hoofdletterongevoelige matching.
=> SELECT V FROM t WHERE REGEXP_LIKE(v,'aaa', 'i'); v ----- Aaa aaa(2 rijen)
select rows that contain the substring “a b c.”
=> select v from t where regexp_like(V,'A B C'); v - - - (0 rijen)
selecteer rijen die de substring “A B c” bevatten, waarbij ruimte binnen de reguliere expressie wordt genegeerd.
=> SELECT V FROM t WHERE REGEXP_LIKE(v,'a b c','x'); v ------ abc abc1(2 rijen)
voeg rijen met meerdere regels toe om aan te tonen met de “M”-modifier.
Selecteer rijen die beginnen met de substring “Record” en eindigen met de substring “regel 2.”
= > SELECT v from t WHERE REGEXP_LIKE (v, ' ^Record.(') regel 2; v - - - (0 rijen)
Selecteer rijen die beginnen met de substring “Record” en eindigen met de substring “line 2”, waarbij meerdere regels als afzonderlijke tekenreeksen worden behandeld.