众所周知,如果IFNULL()
函数不为NULL,则它将返回第一个参数,否则它将返回第二个参数。另一方面,COALESCE()
函数将返回第一个非NULL参数。实际上,如果参数数量只有两个,则MySQL中的IFNULL()
和COALESCE()
函数都等效地工作。其背后的原因是IFNULL()
函数仅接受两个参数,相反,COALESCSE()
函数可以接受任意数量的参数。
假设如果要在IFNULL()
函数位置使用函数,COALESCE()
那么参数的数量必须为2。以下示例将演示它-
mysql> Select IFNULL(NULL, 'Green'); +-----------------------+ | IFNULL(NULL, 'Green') | +-----------------------+ | Green | +-----------------------+ 1 row in set (0.00 sec) mysql> Select COALESCE(NULL, 'Green'); +-------------------------+ | COALESCE(NULL, 'Green') | +-------------------------+ | Green | +-------------------------+ 1 row in set (0.00 sec)