I would like to understand how to set 0 value of the attribute when it is NULL with MAX function. For example:
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
Number is incremental field, but it has set itself 1 when new year has come. But result of:
SELECT (MAX(number)+1) number WHERE date LIKE "2014%"
is NULL and not 1 because MAX(number) is NULL and not 0
Well, as there is no date like 2014, you would expect null, because the maximum of nothing is actually not anyting.
But do this:
Which means: get the first non-null thing from the next list, so if your
max
is null, it'll give you0
COALESCE works, but IFNULL seems clearer to me.
If the first expression is not NULL, IFNULL() returns the expression itself, otherwise it returns the second parameter. IFNULL() returns a numeric or string value, depending on the context in which it is used.