SQLite
 sql >> Datenbank >  >> RDS >> SQLite

Erkennen, ob ein Wert in SQLite mindestens eine Ziffer enthält

Das folgende SQLite-Beispiel gibt alle Zeilen zurück, die mindestens eine Ziffer enthalten.

Beispieldaten

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

SELECT ProductName 
FROM Products;

Ergebnis:

ProductName                         
------------------------------------
Widget Holder (holds 5 gram widgets)
Widget Opener                       
Bob's "Best" Widget                 
Blue Widget                         
Urban Dictionary Version 1.2        
Beer Water (375ml)                  

Beispielabfrage

Wir können die folgende Abfrage verwenden, um nur die Zeilen zurückzugeben, die Zahlen enthalten, die durch numerische Ziffern dargestellt werden:

SELECT ProductName 
FROM Products
WHERE ProductName REGEXP '[0-9]+';

Ergebnis:

ProductName                         
------------------------------------
Widget Holder (holds 5 gram widgets)
Urban Dictionary Version 1.2        
Beer Water (375ml)                  

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 SQLite der REGEXP Operator ist eine spezielle Syntax für REGEXP() Benutzerfunktion.

Daher können wir den folgenden Code verwenden, um dasselbe Ergebnis zu erhalten:

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

Ergebnis:

ProductName                         
------------------------------------
Widget Holder (holds 5 gram widgets)
Urban Dictionary Version 1.2        
Beer Water (375ml)