REGEXP_LIKE

true értéket ad vissza, ha a karakterlánc megfelel a reguláris kifejezésnek. Ez a funkció hasonló a hasonló predikátumhoz, kivéve, hogy reguláris kifejezéseket használ, nem pedig egyszerű helyettesítő karakter illesztést.

REGEXP_LIKE( string, pattern )

paraméterek

string

a VARCHAR vagy LONG VARCHAR karakterlánc a reguláris kifejezésminta-mérkőzés kereséséhez. Ha string létezik egy__raw__ oszlop egy flex vagy oszlopos tábla, cast string egyLONG VARCHAR keresése előtt mintát.

pattern

a reguláris kifejezést tartalmazó karakterlánc, amely illeszkedik a karakterlánchoz. A reguláris kifejezés szintaxisa kompatibilis a Perl 5 reguláris kifejezés szintaxisával. A részleteket lásd a Perl reguláris kifejezések dokumentációjában.

modifiers

Egy vagy több egyetlen-karakter zászlók hogy módosítani, hogy a reguláris kifejezés talál mérkőzés string:

b

Kezelni húrok, mint bináris protokoll, ahelyett, hogy UTF-8 karaktereket.

c

kényszerítse a mérkőzést esetérzékeny (alapértelmezett).

i

kényszerítse a mérkőzést érzéketlennek.

m

kezelje a karakterláncot több sorként. Ezzel a módosítóval a sor kezdete (^) és a sor vége ($) a reguláris kifejezés operátorok egyeznek a sortörésekkel (\n) a karakterláncon belül. A m módosító nélkül a sorkezelők kezdete és vége csak a karakterlánc kezdete és vége.

n

lehetővé teszi az egykarakteres reguláris kifejezés operátor (.) számára, hogy megfeleljen egy újsornak (\n). A n módosító nélkül a . operátor bármely karakterhez illeszkedik, kivéve egy újvonalat.

x

Megjegyzések hozzáadása a reguláris kifejezésekhez. Ax módosítóval a függvény figyelmen kívül hagyja a reguláris kifejezés összes leképezetlen szóköz karakterét és megjegyzését. A megjegyzések egy hash (#) karakterrel kezdődnek, és egy newline (\n) karakterrel végződnek. A karakterláncokban illeszteni kívánt reguláris kifejezés összes szóközét el kell kerülni egy backslash (\) karakterrel.

Megjegyzések

Ez a funkció UTF-8 karakterláncokon működik az alapértelmezett nyelv használatával, még akkor is, ha a helyiséget valami másra állították be.

ha reguláris kifejezés lekérdezést hordoz egy Oracle adatbázisból, ne feledje, hogy az Oracle nulla hosszúságú karakterláncot egyenértékűnek tart NULL-val, míg a Vertica nem.

példák

Ez a példa létrehoz egy táblázatot, amely több karakterláncot tartalmaz a reguláris kifejezések bemutatására.

válassza ki az “a”betűt tartalmazó táblázat összes rekordját.

=> válassza ki a v-t, ahol a REGEXP_LIKE(v,'a'); v - - - - - - Aaa abc abc1(4 sor) 

válassza ki az “A” betűvel kezdődő táblázat összes sorát.”

= > SELECT v FROM T WHERE REGEXP_LIKE(v,'^a'); v - - - - - - - aaa abc abc1(3 sor)

válassza ki az összes sort, amely tartalmazza a substring “aa.”

=> SELECT v FROM T WHERE REGEXP_LIKE(v,'aa'); v ----- Aaa aaa(2 sor)

válassza ki az összes számjegyet tartalmazó sort.

 = > SELECT v FROM T WHERE REGEXP_LIKE(v,'\d'); v ------ 123 abc1 (2 sor) 

válassza ki az “aaa” alrészt tartalmazó összes sort.”

=> SELECT v FROM T WHERE REGEXP_LIKE(v,'aaa'); v ----- aaa(1 row)

válassza ki az összes sort, amely az “aaa” alrészt tartalmazza a case érzéketlen illesztéssel.

=> SELECT v FROM T WHERE REGEXP_LIKE(v,'aaa', 'i'); v ----- Aaa aaa(2 sor)

válassza ki azokat a sorokat, amelyek “a b c.”

=> válassza ki a v-t t, ahol regexp_like(V, "A B C"); v - - - (0 sor) 

válassza ki az “A b c” alszót tartalmazó sorokat, figyelmen kívül hagyva a reguláris kifejezés helyét.

=> SELECT v FROM T WHERE REGEXP_LIKE(v,'A b c','x'); v - - - - - - - - abc abc1(2 sor)

többsoros sorok hozzáadása az “m” módosítóval történő megjelenítéshez.

válassza ki azokat a sorokat, amelyek a “Record” alrendszerrel kezdődnek, és a “2.sor” alrendszerrel végződnek.”

 = > SELECT v from T WHERE REGEXP_LIKE(v,'^Record.* vonal 2$'); v - - - (0 sor) 

válassza ki azokat a sorokat, amelyek a “Record” alrendszerrel kezdődnek, és a “line 2” alrendszerrel végződnek, több sort külön karakterláncként kezelve.

Related Posts

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük