如何与MAX功能设定为0时,它是空?(How set 0 with MAX function whe

2019-06-23 16:39发布

我想知道如何设置该属性的值为0时,它是空与MAX功能。 例如:

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

数是渐进的领域,但它已经为自己设定1时,新的一年已经到来。 但结果是:

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

为NULL,而不是1,因为MAX(数)为NULL,而不是0

Answer 1:

嗯,有像2014没有日期,你会期望空,因为最大的什么,其实并不是点儿。

但是,这样做:

COALESCE(MAX(number),0)

这意味着:从下表得到的第一个非空的东西,所以如果你max为null,它会给你0



Answer 2:

COALESCE的作品,但IFNULL对我来说似乎更加清晰。

IFNULL(MAX(number), 0)

如果第一个表达式不为NULL,IFNULL()返回表达式本身,否则返回第二个参数。 IFNULL()返回一个数字或字符串值,这取决于在其中使用它的上下文。



文章来源: How set 0 with MAX function when it is NULL?