我尝试过:
SELECT CONCAT(col1, col2) AS NewCol FROM tableName
仅当col1和col2不为null时才有效,否则NewCol变为null,即使col1和col2中的一个不为null。我希望它显示任何可用的值。
答案 0 :(得分:1)
使用CONCAT_WS
。
SELECT CONCAT_WS('', col1, col2) AS NewCol FROM tableName
如果值均为null
,则返回空字符串。
文档:
CONCAT_WS(分离器,STR1,STR2,...)
CONCAT_WS()代表Concatenate With Separator,是CONCAT()的一种特殊形式。第一个参数是其余参数的分隔符。在要连接的字符串之间添加分隔符。分隔符可以是字符串,其余参数也可以。如果分隔符为NULL,则结果为NULL。
答案 1 :(得分:0)
您可以使用 CONCAT_WS 。它的NULL安全。第一个参数是分隔符。
<强>样品强>
MariaDB [l]> SELECT CONCAT_WS('',NULL,'123');
+--------------------------+
| CONCAT_WS('',NULL,'123') |
+--------------------------+
| 123 |
+--------------------------+
1 row in set (0.00 sec)
MariaDB [l]>
答案 2 :(得分:0)
您也可以使用
SELECT ISNULL([col1],'') + ISNULL([col2],'') AS NewCol FROM tableName