MySQL Left Join指定NULL列返回特定值

发布于 2016-07-27 作者 [重庆SEO]

我们有时会有这样的应用,需要在sql的left join时,需要使值为NULL的列不返回NULL而时某个特定的值,比如0。这个时候,用is_null(field,0)是行不通的,会报错的,可以用ifnull实现,但是COALESE似乎更符合标准

coalesce 函数

可以接受多个参数,将会返回这些参数中第一个非NULL的值,若提供的参数全部为NULL,则返回NULL

ifnull 函数

和coalesce功能一样,只是只可以接受两个参数

if 函数

接受三个参数,实现类似于三元判断符(?:)的功能,即第一个参数不为NULL且不为0时,返回第二个参数,否则返回第三个参数

补充:

据说还有decode,nvl 未验证