Se você tiver uma coluna em uma tabela de banco de dados do SQL Server que contém dados de caracteres, mas algumas linhas também contêm números nesses dados, você pode usar a técnica a seguir para retornar apenas as linhas que não contêm números.
Números podem ser representados por palavras e outros símbolos, mas para o propósito deste artigo, “número” significa “dígito numérico”. Portanto, estamos encontrando valores que não contêm dígitos numéricos.
Exemplo
Suponha que temos uma coluna com os seguintes dados:
SELECT ProductName
FROM Products;
Resultado:
+-------------------------------------+ | ProductName | |-------------------------------------| | Left handed screwdriver | | Long Weight (blue) | | Long Weight (green) | | Smash 2000 Sledgehammer | | Chainsaw (includes 3 spare fingers) | | Straw Dog Box | | Bottomless Coffee Mugs (4 Pack) | | Right handed screwdriver | +-------------------------------------+
Esta coluna contém dados de caracteres, mas algumas linhas contêm números dentro desses dados de caracteres.
Podemos usar a seguinte consulta para retornar apenas as linhas que não conter números:
SELECT ProductName
FROM Products
WHERE ProductName NOT LIKE '%[0-9]%';
Resultado:
+--------------------------+ | ProductName | |--------------------------| | Left handed screwdriver | | Long Weight (blue) | | Long Weight (green) | | Straw Dog Box | | Right handed screwdriver | +--------------------------+
Como esperado, apenas as linhas que não contêm números são retornadas.
Podemos facilmente inverter e alterar
NOT LIKE
para LIKE
para retornar apenas as linhas que fazem contêm números.