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 |
||||||||||||
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:
|
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.