我希望能够对所有列进行选择,如果为空则显示 0(对于其中的一些列),而不必在语句中写下每个列的名称。
我能想到的是这样的:
SELECT *, IFNULL(`nullable_col1`, 0) FROM `my_table`;
正确的做法是什么?
最佳答案
No 没有办法。您必须对要为其赋值的每一列使用 IFNULL
函数。
您可以做的一件事是,您可以简单地为所有非 NULL 的列选择值(但我不确定这是否是您想要的)
SELECT * FROM my_table WHERE (nullable_col1 AND nullable_col2 AND nullable_col2) IS NOT NULL
所以这将只选择非 NULL 的列。
关于mysql - 选择所有列,同时对一列执行 ifnull,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36419000/