De volgende voorbeelden retourneren alleen die rijen die geen numerieke cijfers bevatten in een bepaalde kolom in Oracle Database.
Voorbeeldgegevens
Stel dat we een tabel hebben met de volgende gegevens:
SELECT ProductName
FROM Products;
Resultaat:
Left Handed Screwdriver Right Handed Screwdriver Bottomless Coffee Cup (4 pack) Urban Dictionary Version 2.3 Beer Water 10 Songs
De tabel ProductName gebruikt een varchar2
gegevenstype, en dus bevat het tekengegevens. Maar het kan ook numerieke cijfers bevatten.
Voorbeeld 1 – Regex
Hier is een zoekopdracht die we kunnen gebruiken om alle rijen te retourneren die geen numerieke cijfers bevatten:
SELECT ProductName
FROM Products
WHERE NOT REGEXP_LIKE(ProductName, '[0-9]+');
Resultaat:
Left Handed Screwdriver Right Handed Screwdriver Beer Water
Voorbeeld 2 – POSIX
In Oracle Database, de REGEXP_LIKE
voorwaarde voldoet aan de POSIX-standaard voor reguliere expressies. Daarom kunnen we hetzelfde resultaat krijgen met de volgende vraag:
SELECT ProductName
FROM Products
WHERE NOT REGEXP_LIKE(ProductName, '[[:digit:]]');
Resultaat:
Left Handed Screwdriver Right Handed Screwdriver Beer Water