Se você precisar retornar todas as linhas que contenham pelo menos um dígito numérico no MySQL, o exemplo a seguir pode ser útil.
Exemplo
Suponha que tenhamos uma tabela chamada
Products
com os seguintes dados em seu ProductName
coluna:SELECT ProductName
FROM Products;
Resultado:
+-------------------------------------+ | ProductName | +-------------------------------------+ | Left handed screwdriver | | Right handed screwdriver | | Long Weight (blue) | | Long Weight (green) | | Smash 2000 Sledge Hammer | | Chainsaw (Includes 5 spare fingers) | | Straw Dog Box | | Bottomless Coffee Mugs (4 Pack) | +-------------------------------------+
Esta coluna contém dados de caracteres, mas algumas linhas contêm números dentro desses dados de caracteres (mesmo que não sejam armazenados como um tipo numérico).
Podemos usar a seguinte consulta para retornar apenas as linhas que contêm números representados por dígitos numéricos:
SELECT ProductName
FROM Products
WHERE ProductName REGEXP '[0-9]+';
Resultado:
+-------------------------------------+ | ProductName | +-------------------------------------+ | Smash 2000 Sledge Hammer | | Chainsaw (Includes 5 spare fingers) | | Bottomless Coffee Mugs (4 Pack) | +-------------------------------------+
Conforme esperado, somente as linhas que contêm números são retornadas.
Neste caso, usamos o
REGEXP
do MySQL função para encontrar todas as linhas que corresponderam a um padrão. O padrão abrange todos os dígitos numéricos de 0
para 9
, além de qualquer outro caractere.