Poniższy przykład zwraca wszystkie wiersze zawierające co najmniej jedną cyfrę w bazie danych Oracle.
Przykładowe dane
Załóżmy, że mamy tabelę o nazwie Products
z następującymi danymi w swoim ProductName
kolumna:
SELECT ProductName
FROM Products;
Wynik:
Left Handed Screwdriver Right Handed Screwdriver Bottomless Coffee Cup (4 pack) Urban Dictionary Version 2.3 Beer Water 10 Songs
Przykładowe zapytanie
Możemy użyć następującego zapytania, aby zwrócić tylko te wiersze, które zawierają liczby:
SELECT ProductName
FROM Products
WHERE REGEXP_LIKE(ProductName, '[0-9]+');
Wynik:
Bottomless Coffee Cup (4 pack) Urban Dictionary Version 2.3 10 Songs
Zwracane są tylko te wiersze, które zawierają liczby. Przez „liczby” rozumiem cyfry. Liczby mogą być również reprezentowane przez słowa lub symbole, ale ten przykład wykrywa tylko cyfry.
W Oracle REGEXP_LIKE
warunek jest zgodny ze standardem wyrażeń regularnych POSIX. Dlatego możemy uzyskać ten sam wynik za pomocą następującego wzoru:
SELECT ProductName
FROM Products
WHERE REGEXP_LIKE(ProductName, '[[:digit:]]');
Wynik:
Bottomless Coffee Cup (4 pack) Urban Dictionary Version 2.3 10 Songs