Ao trabalhar com MariaDB, você pode ocasionalmente precisar retornar todas as linhas que contenham pelo menos um dígito numérico.
Nesses casos, você pode achar o exemplo a seguir ú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 | | Bottomless Coffee Cup | | Smash 2000 Sledgehammer | | Chainsaw (includes 3 spare fingers) | | Bottomless Coffee Mugs (4 Pack) | +-------------------------------------+
Esta coluna obviamente 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 Sledgehammer | | Chainsaw (includes 3 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
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.