当连接两列(3,4)时。如果第一个值为空或null,则将其置零(0,4),如果第二个值为空或null,则将其置零,如3,0。如何在使用php的sql查询中执行。
CONCAT_WS(',',IFNULL(a.PD_right, ''),IFNULL(a.PD_left, '')) as PD_RL
在上面的代码中,连接pd\u right和pd\u left。
现在我变得
如果两个值为空,则只显示逗号(,)。
如果有两个值,它将显示为3,4
如果第一个值为空,它将显示为4
如果第二个值为空,它将显示为3,
如何解决这些问题。?我的数据库列为空。它不是null或null
2条答案
按热度按时间ttp71kqs1#
更改此查询行:
到
或者,您可以在连接之前测试这些值
CASE ...WHEN...THEN...END
语法。更多信息请看这里。
ftf50wuq2#
如果我理解正确,只需将空字符串替换为“0”,如
CONCAT_WS(',',IFNULL(a.PD_right, '0'),IFNULL(a.PD_left, '0')) as PD_RL
应该有用。如果要检测null或空字符串“”,请改用if函数。
我在我的机器上做了一个简单的测试,输出如下: