Následující příklady vrátí pouze ty řádky, které neobsahují žádné číselné číslice v daném sloupci v databázi Oracle.
Ukázková data
Předpokládejme, že máme tabulku s následujícími údaji:
SELECT ProductName
FROM Products;
Výsledek:
Left Handed Screwdriver Right Handed Screwdriver Bottomless Coffee Cup (4 pack) Urban Dictionary Version 2.3 Beer Water 10 Songs
Tabulka ProductName používá varchar2
datový typ, a tak obsahuje znaková data. Může však obsahovat i číslice.
Příklad 1 – Regex
Zde je dotaz, který můžeme použít k vrácení všech řádků, které neobsahují číslice:
SELECT ProductName
FROM Products
WHERE NOT REGEXP_LIKE(ProductName, '[0-9]+');
Výsledek:
Left Handed Screwdriver Right Handed Screwdriver Beer Water
Příklad 2 – POSIX
V databázi Oracle REGEXP_LIKE
podmínka odpovídá standardu regulárních výrazů POSIX. Proto můžeme získat stejný výsledek s následujícím dotazem:
SELECT ProductName
FROM Products
WHERE NOT REGEXP_LIKE(ProductName, '[[:digit:]]');
Výsledek:
Left Handed Screwdriver Right Handed Screwdriver Beer Water