Poniższe przykłady zwracają tylko te wiersze, które nie zawierają żadnych cyfr w danej kolumnie w Oracle Database.
Przykładowe dane
Załóżmy, że mamy tabelę z następującymi danymi:
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
Tabela ProductName używa varchar2
typ danych, a więc zawiera dane znakowe. Ale może również zawierać cyfry.
Przykład 1 – Wyrażenie regularne
Oto zapytanie, którego możemy użyć do zwrócenia wszystkich wierszy, które nie zawierają cyfr:
SELECT ProductName
FROM Products
WHERE NOT REGEXP_LIKE(ProductName, '[0-9]+');
Wynik:
Left Handed Screwdriver Right Handed Screwdriver Beer Water
Przykład 2 – POSIX
W bazie danych Oracle REGEXP_LIKE
warunek jest zgodny ze standardem wyrażeń regularnych POSIX. Dlatego możemy uzyskać ten sam wynik za pomocą następującego zapytania:
SELECT ProductName
FROM Products
WHERE NOT REGEXP_LIKE(ProductName, '[[:digit:]]');
Wynik:
Left Handed Screwdriver Right Handed Screwdriver Beer Water