Returnerer sann hvis strengen samsvarer med det regulære uttrykket. Denne funksjonen ligner PÅ LIKE-predikatet, bortsett fra at den bruker regulære uttrykk i stedet for enkel jokertegnmatching.
Syntaks
REGEXP_LIKE( streng, mønster )
Parametere
string |
|
pattern |
en streng som inneholder det regulære uttrykket for å matche strengen. Syntaksen til det regulære uttrykket er kompatibel Med perl 5 regulære uttrykk syntaks. Se Perl Regulære Uttrykk Dokumentasjon for detaljer. |
b |
behandle strenger som binære oktetter, i stedet for utf-8 tegn. |
c |
Tving treffet til å være store og små bokstaver (standard). |
i |
Tving treffet til å være små bokstaver. |
m |
Behandle strengen for å matche som flere linjer. Ved hjelp av denne modifikatoren samsvarer linjeskift ( |
Tillat operatoren for enkelt tegn med regulært uttrykk ( |
|
x |
Legg til kommentarer i dine regulære uttrykk. Hvis du bruker |
Merknader
denne funksjonen opererer på utf – 8-strenger med standard nasjonal innstilling, selv om nasjonal innstilling er satt til noe annet.
hvis Du porting et regulært uttrykk spørring fra En Oracle-database, husk At Oracle anser en null-lengde streng tilsvarer NULL, Mens Vertica ikke.
Eksempler
dette eksemplet oppretter en tabell som inneholder flere strenger for å demonstrere regulære uttrykk.
Velg alle poster i tabellen som inneholder bokstaven «a».
=> VELG v FRA t DER REGEXP_LIKE(v,'a'); V - - - - - Aaa aaa abc abc1(4 rader)
Velg alle radene i tabellen som begynner med bokstaven «a.»
=> VELG v FRA t DER REGEXP_LIKE(v,'^a'); v ------ aaa abc abc1 (3 rader)
Velg alle rader som inneholder substringen «aa.»
=> VELG v FRA T HVOR REGEXP_LIKE(v,'aa'); V ----- Aaa aaa(2 rader)
Velg alle rader som inneholder et siffer.
=> VELG v FRA T HVOR REGEXP_LIKE (v, '\d'); v ------ 123 abc1 (2 rader)
Velg alle rader som inneholder substringen » aaa.»
=> VELG v FRA T DER REGEXP_LIKE(v,'aaa'); v ----- aaa(1 rad)
Velg alle rader som inneholder substringen» aaa » ved hjelp av små og store bokstaver.
=> VELG v FRA T DER REGEXP_LIKE(v,'aaa', 'i'); V ----- Aaa aaa(2 rader)
Velg rader som inneholder substringen «a b c.»
=> velg v fra t hvor regexp_like(v,'a b c'); v - - - (0 rader)
Velg rader som inneholder substringen «a b c» som ignorerer mellomrom i det regulære uttrykket.
=> VELG v FRA t HVOR REGEXP_LIKE(v,'a b c','x'); v - - - - - abc abc1 (2 rader)
Legg til flere linjer rader for å demonstrere ved hjelp av «m» modifikatoren.
Velg rader som starter med substringen» Record «og slutter med substringen» linje 2.»
=> VELG v FRA T HVOR REGEXP_LIKE (v,' ^ Post.* linje 2$'); v - - - (0 rader)
Velg rader som starter med substringen «Record» og slutter med substringen «line 2», og behandler flere linjer som separate strenger.