vrací true, pokud řetězec odpovídá regulárnímu výrazu. Tato funkce je podobná jako predikát, kromě toho, že používá regulární výrazy spíše než jednoduché párování zástupných znaků.
Syntax
REGEXP_LIKE( řetězec, vzor )
Parametry
string |
|
||||||||||||
pattern |
řetězec obsahující regulární výraz zápas proti řetězec. Syntaxe regulárního výrazu je kompatibilní se syntaxí regulárního výrazu Perl 5. Podrobnosti naleznete v dokumentaci regulárních výrazů Perl. |
||||||||||||
modifiers |
Jeden nebo více single-znaku vlajky, které modifikují, jak regulární výraz najde zápasy v řetězci:
|
Poznámky
Tato funkce funguje na UTF-8 řetězce pomocí výchozí národní prostředí, a to i pokud je locale nastaveno na něco jiného.
Pokud přenášíte dotaz regulárního výrazu z databáze Oracle, nezapomeňte, že Oracle považuje řetězec s nulovou délkou za ekvivalentní NULL, zatímco Vertica ne.
příklady
tento příklad vytvoří tabulku obsahující několik řetězců pro demonstraci regulárních výrazů.
Vyberte všechny záznamy v tabulce, které obsahují písmeno „a“.
=> VYBERTE možnost v Z t KDE REGEXP_LIKE(v,'a'); v ------ Aaa aaa abc abc1(4 řádky)
Vyberte všechny řádky v tabulce, které začínají písmenem „.“
=> VYBERTE možnost v Z t KDE REGEXP_LIKE(v,'^'); v ------ aaa abc abc1(3 řádky)
Vyberte všechny řádky, které obsahují řetězec „aa.“
=> VYBERTE možnost v Z t KDE REGEXP_LIKE(v,'aa'); v ----- Aaa aaa(2 řádky)
Vyberte všechny řádky, které obsahují číslice.
=> VYBERTE možnost v Z t KDE REGEXP_LIKE(v,'\d'); v ------ 123 abc1(2 řádky)
Vyberte všechny řádky, které obsahují řetězec „aaa.“
=> VYBERTE možnost v Z t KDE REGEXP_LIKE(v,'aaa'); v ----- aaa(1 řádek)
Vyberte všechny řádky, které obsahují řetězec „aaa“ pomocí malá a velká písmena odpovídající.
=> VYBERTE možnost v Z t KDE REGEXP_LIKE(v,'aaa', 'já'); v ----- Aaa aaa(2 řádky)
Vyberte řádky, které obsahují podřetězec „a b c.“
=> VYBERTE možnost v Z t KDE REGEXP_LIKE(v,'a b c'); v - - - (0 řádků)
vyberte řádky, které obsahují podřetězec“ a b c “ ignorující mezeru v regulárním výrazu.
=> VYBERTE možnost v Z t KDE REGEXP_LIKE(v,'a b c','x'); v ------ abc abc1(2 řádky)
Přidat multi-line řádků prokázat pomocí „m“ modifikátor.
vyberte řádky, které začínají podřetězcem „záznam“ a končí podřetězcem “ řádek 2.“
=> vyberte v Z t, kde REGEXP_LIKE (v,'^Record.* řádek 2$'); v ---(0 rows)
Vyberte řádky, které začínají s podřetězec „Record“ a na konci se podřetězec „linka 2“ léčila více řádcích jako samostatné řetězce.