mysql - 在 ISNULL Conditional 中包装 Conditional | mysql
问题描述
目前,我的 SELECT 语句中有以下条件:
IF ((`date1` IS NOT NULL AND `date1` <> 0), DATE_FORMAT(`date1`, "%M %D %Y"),
DATE_FORMAT(`date2`, "%M %D %Y")) AS finaldate
但是在某些条件下,而不是为条件的结果呈现日期finaldate
的是NULL
。是否可以将此条件包装在ISNULL
条件中?
解决方案
如果要将 a 转换NULL
为另一个值,可以使用COALESCE()
. 例如:
COALESCE(<my_expression>, ' ')
在这种情况下,如果 的值为<my_expression>
null,则将其呈现为空格。
在你的情况下,这可能会变成这样:
COALESCE(
IF ((`date1` IS NOT NULL AND `date1` <> 0), DATE_FORMAT(`date1`, "%M %D %Y"),
DATE_FORMAT(`date2`, "%M %D %Y"),
' '
) AS finaldate