SQLite
 sql >> Base de données >  >> RDS >> SQLite

Trouver des valeurs qui ne contiennent pas de nombres dans SQLite

L'exemple suivant renvoie toutes les lignes qui ne contiennent aucun nombre dans SQLite.

Par "nombre", j'entends "chiffre numérique". Les nombres peuvent également être représentés par des mots et d'autres symboles, mais pour les besoins de cet article, nous renvoyons des valeurs qui ne contiennent aucun chiffre.

Exemple de données

Supposons que nous ayons une table appelée Products avec les données suivantes dans son ProductName colonne :

SELECT ProductName 
FROM Products;

Résultat :

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

Exemple de requête

Nous pouvons utiliser la requête suivante pour renvoyer uniquement les lignes qui ne contiennent aucun chiffre :

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

Résultat :

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

Seules les lignes qui ne contiennent aucun chiffre numérique sont renvoyées.

Dans SQLite, le REGEXP L'opérateur est une syntaxe spéciale pour le REGEXP() fonction utilisateur.

Par conséquent, nous pouvons utiliser le code suivant pour obtenir le même résultat :

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

Résultat :

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