Si necesita devolver todas las filas que contienen al menos un dígito numérico en MySQL, el siguiente ejemplo puede ser útil.
Ejemplo
Supongamos que tenemos una tabla llamada Products
con los siguientes datos en su ProductName
columna:
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 columna contiene datos de caracteres, pero algunas filas contienen números dentro de esos datos de caracteres (aunque no se almacenan como un tipo numérico).
Podemos usar la siguiente consulta para devolver solo aquellas filas que contienen 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) | +-------------------------------------+
Como era de esperar, solo se devuelven las filas que contienen números.
En este caso, usamos REGEXP
de MySQL función para encontrar todas las filas que coincidieron con un patrón. El patrón abarca todos los dígitos numéricos desde 0
a 9
, además de cualquier otro carácter.