en: Sin categoría
Es un problema poco habitual ya que no siempre se pretende filtrar datos numéricos en las consultas de MySQL, pongamos que necesitamos probar en una consulta que los datos de un determinado campo son numéricos.
Buscando he encontrado dos posibles maneras de hacerlo con MySQL:
¿Cuál es la mejor maneras?
Tras probarlo definitivamente es mejor con expresiones regulares (la segunda opción) pero con una pequeña modificación para que nos coja cualquier número entero.
WHERE micampo REGEXP '^[0-9]+$'
2 Respuestas a Función IsNumeric para MySQL
Cesarillo
27 de Febrero de 2009 a las 9:20 am
Acá les dejo como aporte la función ISNUMERIC en MySQL:
CREATE FUNCTION ISNUMERIC(myVal VARCHAR(1024))
RETURNS TINYINT(1) DETERMINISTIC
RETURN myVal REGEXP ‘^(-|\\+)?([0-9]+\\.[0-9]*|[0-9]*\\.[0-9]+|[0-9]+)$’;
mysql@Locovich
16 de Diciembre de 2009 a las 10:28 pm
Habria esperado que sea una funcion del motor de mysql, y no tener que agregarla usando regexp, que suele tener un consumo alto de recursos.
Gracias por el aporte, me fue de utilidad!!!
Locovich