relacionales operadores funcion ejemplos comparacion aritmeticos mysql null max zero

funcion - operadores de comparacion mysql



¿Cómo se configura 0 con la función MAX cuando es NULL? (2)

Me gustaría entender cómo establecer el valor 0 del atributo cuando es NULL con la función MAX. Por ejemplo:

Name columns: number - date Values: 10 - 2012-04-04 11 - 2012-04-04 12 - 2012-04-04 13 - 2012-04-15 14 - 2012-06-21 1 - 2013-07-04

El número es un campo incremental, pero se ha fijado 1 cuando llega el nuevo año. Pero el resultado de:

SELECT (MAX(number)+1) number WHERE date LIKE "2014%"

es NULL y no 1 porque MAX (número) es NULL y no 0


Bueno, como no hay una fecha como 2014, es de esperar que sea nulo, porque el máximo de nada en realidad no es ninguna.

Pero haz esto:

COALESCE(MAX(number),0)

Lo que significa: obtener la primera cosa no nula de la siguiente lista, por lo que si su valor max es nulo, le dará 0


COALESCE funciona, pero IFNULL parece más claro.

IFNULL(MAX(number), 0)

Si la primera expresión no es NULL, IFNULL () devuelve la expresión, de lo contrario, devuelve el segundo parámetro. IFNULL () devuelve un valor numérico o de cadena, según el contexto en el que se usa.