SELECT Concat(mp.cHospital ,',',mp.cHospital1,',',mp.cHospital2) as Hospital FROM TBL
我不想返回空值,
如何检查非空或在查询中使用isset条件
SELECT Concat(mp.cHospital ,',',mp.cHospital1,',',mp.cHospital2) as Hospital FROM TBL
我不想返回空值,
如何检查非空或在查询中使用isset条件
根据定义(几乎),任何与NULL的操作都会导致其结果为NULL,因为NULL意味着“未定义”。 我理解你的问题是cHospital、cHospital1或cHospital3可能为空,你想要进行检查。问题是:应该发生什么? 你想要只替换字段为空字符串,然后进行连接或替换所有字段?
我假设你想要的是第一种情况,可能看起来像这样:
SELECT Concat(
IFNULL(mp.cHospital, ''),
',',
IFNULL(mp.cHospital1,''),
',',
IFNULL(mp.cHospital2,'')) AS Hospital
FROM TBL
IFNULL函数返回第一个参数,除非它是NULL,此时返回第二个参数(这里是空字符串)。
http://dev.mysql.com/doc/refman/5.1/en/control-flow-functions.html#function_ifnull
我建议使用CONCAT_WS函数。这个函数可以根据你的需求工作。
类似于:
SELECT CONCAT_WS(',', mp.cHospital, mp.cHospital1, mp.cHospital2) as Hospital FROM TB
L
http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_concat-ws
问候!