Následující příklad vrátí všechny řádky, které obsahují alespoň jednu číselnou číslici v databázi Oracle.
Ukázková data
Předpokládejme, že máme tabulku nazvanou Products
s následujícími údaji ve svém ProductName
sloupec:
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
Příklad dotazu
Pomocí následujícího dotazu můžeme vrátit pouze ty řádky, které obsahují čísla:
SELECT ProductName
FROM Products
WHERE REGEXP_LIKE(ProductName, '[0-9]+');
Výsledek:
Bottomless Coffee Cup (4 pack) Urban Dictionary Version 2.3 10 Songs
Jsou vráceny pouze ty řádky, které obsahují čísla. „Čísly“ mám na mysli číselné číslice. Čísla mohou být také reprezentována slovy nebo symboly, ale tento příklad detekuje pouze číselné číslice.
V 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 vzorem:
SELECT ProductName
FROM Products
WHERE REGEXP_LIKE(ProductName, '[[:digit:]]');
Výsledek:
Bottomless Coffee Cup (4 pack) Urban Dictionary Version 2.3 10 Songs