Följande exempel returnerar alla rader som innehåller minst en numerisk siffra i Oracle Database.
Exempeldata
Anta att vi har en tabell som heter Products
med följande data i dess ProductName
kolumn:
SELECT ProductName
FROM Products;
Resultat:
Left Handed Screwdriver Right Handed Screwdriver Bottomless Coffee Cup (4 pack) Urban Dictionary Version 2.3 Beer Water 10 Songs
Exempelfråga
Vi kan använda följande fråga för att returnera bara de rader som innehåller siffror:
SELECT ProductName
FROM Products
WHERE REGEXP_LIKE(ProductName, '[0-9]+');
Resultat:
Bottomless Coffee Cup (4 pack) Urban Dictionary Version 2.3 10 Songs
Endast de rader som innehåller siffror returneras. Med "siffror" menar jag numeriska siffror. Siffror kan också representeras av ord eller symboler, men det här exemplet identifierar bara siffror.
I Oracle, REGEXP_LIKE
villkoret överensstämmer med POSIX standarduttrycksstandard. Därför kan vi få samma resultat med följande mönster:
SELECT ProductName
FROM Products
WHERE REGEXP_LIKE(ProductName, '[[:digit:]]');
Resultat:
Bottomless Coffee Cup (4 pack) Urban Dictionary Version 2.3 10 Songs