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

Finden Sie Werte, die keine Zahlen in SQLite enthalten

Das folgende Beispiel gibt alle Zeilen zurück, die keine Zahlen in SQLite enthalten.

Mit „Zahl“ meine ich „Ziffer“. Zahlen können auch durch Wörter und andere Symbole dargestellt werden, aber für die Zwecke dieses Artikels geben wir Werte zurück, die keine numerischen Ziffern 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 keine numerischen Ziffern enthalten:

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

Ergebnis:

ProductName        
-------------------
Widget Opener      
Bob's "Best" Widget
Blue Widget        

Es werden nur die Zeilen zurückgegeben, die keine Ziffern enthalten.

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 NOT REGEXP('[0-9]+', ProductName);

Ergebnis:

ProductName        
-------------------
Widget Opener      
Bob's "Best" Widget
Blue Widget