一尘不染

COALESCE()用于空白(但不为空)字段

sql

我有两个要与MySQL函数COALESCE()比较的字段。例如,COALESCE(Field1,Field2)。问题是,Field1有时为空,但不为null;因为它不是nullCOALESCE(),所以即使它为空,也选择Field1。在这种情况下,我需要它来选择Field2。

我知道我可以在查询中编写if-then-else(CASE)语句来检查这一点,但是是否有一个不错的简单函数,例如COALESCE()用于空白但非空字段?


阅读 137

收藏
2021-03-17

共1个答案

一尘不染

SELECT IFNULL(NULLIF(Field1,’‘),Field2)

如果Field1为空,则NULLIF返回NULL,如果非空或NULL,则IFNULL返回Field1,否则返回Field2。

2021-03-17