REGEXP_LIKE

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

The VARCHARtaiLONG VARCHARmerkkijono, jolla haetaan säännöllisen lausekekuvion vastaavuutta. Jos merkkijono on olemassa__raw__ flex-tai columnar-taulukon sarakkeessa, valitaan merkkijono LONG VARCHAR ennen kuvion etsimistä.

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:

n
b

käsittele merkkijonoja binäärioktetteina UTF-8-kirjaimen sijaan.

c

pakota ottelu suuruusherkäksi (oletusarvo).

i

pakota ottelu olemaan asiaton.

m

käsittele merkkijono vastaamaan useita rivejä. Käyttämällä tätä muokkainta rivin alku (^) ja rivin loppu ($) säännöllisen lausekkeen operaattorit vastaavat rivin katkoksia (\n) merkkijonon sisällä. Ilman m modifier, rivioperaattoreiden alku ja loppu vastaavat vain merkkijonon alkua ja loppua.

salli yhden merkin säännöllisen lausekkeen operaattorin (.) vastata uutta riviä (\n). Ilman n modifier, . operaattori vastaa mitä tahansa merkkiä paitsi uutta riviä.

x

Lisää kommentteja säännöllisiin lausekkeisiin. Käyttämällä x modifier aiheuttaa sen, että funktio jättää huomiotta kaikki säännöllisen lausekkeen muokkaamattomat välilyöntimerkit ja kommentit. Kommentit alkavat hash-merkillä (#) ja päättyvät uuteen riviin (\n). Kaikki säännöllisen lausekkeen välilyönnit, jotka haluat täsmätä merkkijonoihin, täytyy karata backslash-merkillä (\).

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.

Related Posts

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *