Die folgenden Beispiele geben nur die Zeilen zurück, die keine numerischen Ziffern in einer bestimmten Spalte in Oracle Database enthalten.
Beispieldaten
Angenommen, wir haben eine Tabelle mit den folgenden Daten:
SELECT ProductName
FROM Products;
Ergebnis:
Left Handed Screwdriver Right Handed Screwdriver Bottomless Coffee Cup (4 pack) Urban Dictionary Version 2.3 Beer Water 10 Songs
Die ProductName-Tabelle verwendet einen varchar2
Datentyp und enthält daher Zeichendaten. Es kann aber auch Ziffern enthalten.
Beispiel 1 – Regex
Hier ist eine Abfrage, die wir verwenden können, um alle Zeilen zurückzugeben, die keine numerischen Ziffern enthalten:
SELECT ProductName
FROM Products
WHERE NOT REGEXP_LIKE(ProductName, '[0-9]+');
Ergebnis:
Left Handed Screwdriver Right Handed Screwdriver Beer Water
Beispiel 2 – POSIX
In der Oracle-Datenbank der REGEXP_LIKE
Bedingung entspricht dem POSIX-Standard für reguläre Ausdrücke. Daher können wir dasselbe Ergebnis mit der folgenden Abfrage erhalten:
SELECT ProductName
FROM Products
WHERE NOT REGEXP_LIKE(ProductName, '[[:digit:]]');
Ergebnis:
Left Handed Screwdriver Right Handed Screwdriver Beer Water