Följande exempel returnerar endast de rader som inte innehåller några numeriska siffror i en given kolumn i Oracle Database.
Exempeldata
Anta att vi har en tabell med följande data:
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
Tabellen ProductName använder en varchar2
datatyp, och så innehåller den teckendata. Men den kan också innehålla numeriska siffror.
Exempel 1 – Regex
Här är en fråga vi kan använda för att returnera alla rader som inte innehåller numeriska siffror:
SELECT ProductName
FROM Products
WHERE NOT REGEXP_LIKE(ProductName, '[0-9]+');
Resultat:
Left Handed Screwdriver Right Handed Screwdriver Beer Water
Exempel 2 – POSIX
I Oracle Database, REGEXP_LIKE
villkoret överensstämmer med POSIX standarduttrycksstandard. Därför kan vi få samma resultat med följande fråga:
SELECT ProductName
FROM Products
WHERE NOT REGEXP_LIKE(ProductName, '[[:digit:]]');
Resultat:
Left Handed Screwdriver Right Handed Screwdriver Beer Water