MariaDB
 sql >> Base de Dados >  >> RDS >> MariaDB

Como detectar se um valor contém pelo menos um dígito numérico no MariaDB


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.