Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Ermitteln Sie, ob ein Wert in Oracle mindestens eine Ziffer enthält

Das folgende Beispiel gibt alle Zeilen zurück, die mindestens eine Ziffer in Oracle Database enthalten.

Beispieldaten

Angenommen, wir haben eine Tabelle namens Products mit den folgenden Daten in seinem ProductName Spalte:

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

Beispielabfrage

Wir können die folgende Abfrage verwenden, um nur die Zeilen zurückzugeben, die Zahlen enthalten:

SELECT ProductName 
FROM Products
WHERE REGEXP_LIKE(ProductName, '[0-9]+');

Ergebnis:

Bottomless Coffee Cup (4 pack)
Urban Dictionary Version 2.3
10 Songs

Es werden nur die Zeilen zurückgegeben, die Zahlen enthalten. Mit „Zahlen“ meine ich Ziffern. Zahlen können auch durch Wörter oder Symbole dargestellt werden, aber dieses Beispiel erkennt nur Ziffern.

In Oracle der REGEXP_LIKE Bedingung entspricht dem POSIX-Standard für reguläre Ausdrücke. Daher können wir dasselbe Ergebnis mit dem folgenden Muster erhalten:

SELECT ProductName 
FROM Products
WHERE REGEXP_LIKE(ProductName, '[[:digit:]]');

Ergebnis:

Bottomless Coffee Cup (4 pack)
Urban Dictionary Version 2.3
10 Songs