SQLite
 sql >> Database >  >> RDS >> SQLite

Rileva se un valore contiene almeno una cifra numerica in SQLite

L'esempio SQLite seguente restituisce tutte le righe che contengono almeno una cifra numerica.

Dati di esempio

Supponiamo di avere una tabella chiamata Products con i seguenti dati nel suo ProductName colonna:

SELECT ProductName 
FROM Products;

Risultato:

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

Richiesta di esempio

Possiamo utilizzare la seguente query per restituire solo quelle righe che contengono numeri rappresentati da cifre numeriche:

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

Risultato:

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

Vengono restituite solo le righe che contengono numeri. Per "numeri", intendo cifre numeriche. I numeri possono anche essere rappresentati da parole o simboli, ma questo esempio rileva solo cifre numeriche.

In SQLite, il REGEXP è una sintassi speciale per REGEXP() funzione utente.

Pertanto, possiamo utilizzare il seguente codice per ottenere lo stesso risultato:

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

Risultato:

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