palauttaa true jos merkkijono vastaa säännöllistä lauseketta. Tämä funktio on samankaltainen kuin LIKE-predikaatti, paitsi että se käyttää säännöllisiä lausekkeita yksinkertaisen jokerimerkkien vastaavuuden sijaan.
syntaksi
REGEXP_LIKE( string, pattern )
parametrit
string |
|
pattern |
merkkijono, joka sisältää säännöllisen lausekkeen vastaamaan merkkijonoa. Säännöllisen lausekkeen syntaksi on yhteensopiva Perl 5: n säännöllisen lausekkeen syntaksin kanssa. Katso lisätietoja Perl: n säännöllisten lausekkeiden dokumentaatiosta. |
modifiers |
yksi tai useampi yksimerkkinen lippu, jotka muokkaavat sitä, miten säännöllinen lauseke löytää täsmääviä merkkijonoja:
|
muistiinpanot
tämä funktio toimii UTF-8-merkkijonoilla käyttäen oletuspaikkaa, vaikka lokaali olisi asetettu johonkin muuhun.
Jos siirrät säännöllisen lausekekyselyn Oraclen tietokannasta, muista, että Oracle pitää nollapituista merkkijonoa nollia vastaavana, kun taas Vertica ei.
esimerkit
tässä esimerkissä luodaan taulukko, joka sisältää useita merkkijonoja säännöllisten lausekkeiden osoittamiseksi.
Valitse kaikki taulukon tietueet, jotka sisältävät kirjaimen ”a”.
=> valitse V T: stä, jossa REGEXP_LIKE(V, "a"); V - - - - - Aaa aaa abc abc1(4 riviä)
Valitse kaikki taulukon rivit, jotka alkavat kirjaimella ” a.”
=> valitse V T: stä missä REGEXP_LIKE(v, "^A"); v - - - - - aaa abc abc1(3 riviä)
Valitse kaikki rivit, jotka sisältävät substraatin ” aa.”
=> valitse V T: stä missä REGEXP_LIKE(v, "aa"); v - - - - Aaa aaa(2 riviä)
Valitse kaikki rivit, jotka sisältävät numeron.
= > SELECT v FROM t WHERE REGEXP_LIKE(v, "\d"); v ------ 123 abc1 (2 riviä)
Valitse kaikki rivit, jotka sisältävät substraatin ”aaa.”
=> valitse V T: stä missä REGEXP_LIKE(v,'aaa'); v - - - - aaa(1 rivi)
Valitse kaikki rivit, jotka sisältävät substraatin ”aaa” käyttäen kirjainherkkää vastaavuutta.
=> valitse V T:stä missä REGEXP_LIKE(v, "aaa","i"); v - - - - Aaa aaa(2 riviä)
valitse rivit, jotka sisältävät substraatin”a b c”
=> valitse v t: stä missä regexp_like(V,'A B C'); V - - - (0 riviä)
valitse rivit, jotka sisältävät substraatin ”a b c” välittämättä välilyönnistä säännöllisessä lausekkeessa.
=> valitse V T: stä missä REGEXP_LIKE(v, "a b c", "x"); v - - - - - abc abc1(2 riviä)
Lisää monirivisiä rivejä osoittamaan käyttämällä ” m ” – modifieria.
valitse rivit, jotka alkavat substraatilla ”Record” ja päättyvät substraatilla ”rivillä 2.”
=> valitse V T: stä missä REGEXP_LIKE(v, " ^Record.* rivi 2$'); v - - - (0 riviä)
valitse rivit, jotka alkavat substraatilla ”Record” ja päättyvät substraattiin ”line 2” käsittelemällä useita rivejä erillisinä merkkijonoina.