我有两个表,并且为它们创建了左联接查询。
假设它们是表A和表B。

当我查询表B是否包含表A中存在的键时,将根据它显示记录。如果键不匹配,则在所有列上显示null

如果我必须替换null,我使用mysql的ifnull函数,但是要应用ifnull的列更多,有什么办法可以一次在所有列上应用此函数?意味着无需在每个单独的列上应用

最佳答案

不,您需要将IFNULL分别应用于每个列。

但是,如果您有稍微不同的要求,即要显示多个列中的第一个非空列,并显示默认列(如果它们全为空),则可以使用COALESCE函数,如下所示:

select coalesce(col1,col2,col3,0)
from tbl


问题在于它将返回结果中的单个列,而不是对应于col1col2col3的多个列。因此,只要您要在结果集中包含多个列,就需要对每个列进行空值处理。

关于mysql - ifnull()在多列上,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24238604/

10-11 07:37