zwraca true, jeśli łańcuch jest zgodny z wyrażeniem regularnym. Funkcja ta jest podobna do predykatu LIKE, z tą różnicą, że używa wyrażeń regularnych zamiast prostego dopasowywania znaków wieloznacznych.
składnia
REGEXP_LIKE( string, wzór)
parametry
string |
The |
||||||
łańcuch zawierający Wyrażenie regularne dopasowane do łańcucha. Składnia wyrażenia regularnego jest zgodna ze składnią wyrażenia regularnego Perl 5. Szczegółowe informacje można znaleźć w dokumentacji wyrażeń regularnych Perla. |
|||||||
jedno lub więcej jednoznakowych znaczników, które modyfikują sposób, w jaki Wyrażenie regularne znajduje dopasowania w łańcuchu:
|
uwagi
Ta funkcja działa na ciągach UTF-8 przy użyciu domyślnych ustawień regionalnych, nawet jeśli Ustawienia regionalne zostały ustawione na coś innego.
Jeśli przenosisz Zapytanie o wyrażenie regularne z bazy danych Oracle, pamiętaj, że Oracle uważa, że łańcuch o zerowej długości jest równoważny NULL, podczas gdy Vertica nie.
przykłady
Ten przykład tworzy tabelę zawierającą kilka łańcuchów znaków, aby zademonstrować wyrażenia regularne.
Wybierz wszystkie rekordy w tabeli, które zawierają literę „a”.
=> wybierz V Z T, gdzie REGEXP_LIKE(v,'A'); v ------ Aaa aaa abc abc1(4 wiersze)
Wybierz wszystkie wiersze w tabeli, które zaczynają się od litery „a.”
=> SELECT V FROM T WHERE REGEXP_LIKE(v,'^A'); V ------ aaa abc abc1(3 wiersze)
Select all rows that contains the substring ” aa.”
=> SELECT V FROM T WHERE REGEXP_LIKE(V,'aa'); v ----- Aaa aaa(2 wiersze)
Select all rows that contains a digit.
=> SELECT V FROM T WHERE REGEXP_LIKE(v,'\D'); v ------ 123 abc1(2 wiersze)
Zaznacz wszystkie wiersze zawierające podłańcuch „aaa.”
=> SELECT V FROM T WHERE REGEXP_LIKE(V,'aaa'); V ----- aaa(1 wiersz)
Select all rows that contains the substring” aaa ” using case insensitive matching.
=> SELECT V FROM T WHERE REGEXP_LIKE(V,'aaa', 'i'); v ----- Aaa aaa(2 wiersze)
Select rows that contains the substring „a b c.”
=> select v from t where regexp_like(V,'A B C'); V - - - (0 wierszy)
wybiera wiersze zawierające podłańcuch „a b c” ignorując spację w wyrażeniu regularnym.
=> SELECT V FROM T WHERE REGEXP_LIKE(v,'A B c','x'); v ------ abc abc1(2 wiersze)
Add multi-line rows to demonstrate using the „M” modifier.
Wybierz wiersze, które rozpoczynają się podłańcuchem „rekord” i kończą podłańcuchem „linia 2.”
=> SELECT v from T WHERE REGEXP_LIKE(v,'^Record.* line 2$'); V - - - (0 wierszy)
wybiera wiersze, które zaczynają się od podłańcucha „Record” i kończą na podłańcuchu „line 2”, traktując wiele linii jako oddzielne łańcuchy.