SQLite
 sql >> Base de Dados >  >> RDS >> SQLite

Encontre valores que não contenham números no SQLite


O exemplo a seguir retorna todas as linhas que não contêm nenhum número no SQLite.

Por “número” quero dizer “dígito numérico”. Os números também podem ser representados por palavras e outros símbolos, mas para o propósito deste artigo, estamos retornando valores que não contêm dígitos numéricos.

Dados de amostra


Suponha que tenhamos uma tabela chamada Products com os seguintes dados em seu ProductName coluna:
SELECT ProductName 
FROM Products;

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

Exemplo de consulta


Podemos usar a seguinte consulta para retornar apenas as linhas que não contêm nenhum dígito numérico:
SELECT ProductName 
FROM Products
WHERE ProductName NOT REGEXP '[0-9]+';

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

Somente as linhas que não contêm dígitos numéricos são retornadas.

No SQLite, o REGEXP operador é uma sintaxe especial para o REGEXP() função do usuário.

Portanto, podemos usar o seguinte código para obter o mesmo resultado:
SELECT ProductName 
FROM Products
WHERE NOT REGEXP('[0-9]+', ProductName);

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