小编典典

SQL Server:串联多个列的最佳方法?

sql

我正在尝试在SQL Server 11.00.3393中的查询中连接多个列。

我尝试了新功能,CONCAT()但是当我使用两个以上的列时,它不起作用。

所以我想知道这是否是解决问题的最佳方法:

SELECT CONCAT(CONCAT(CONCAT(COLUMN1,COLUMN2),COLUMN3),COLUMN4) FROM myTable

COLUMN1 + COLUMN2由于NULL价值我不能使用。

编辑

如果我尝试SELECT CONCAT('1','2','3') AS RESULT我会得到一个错误

CONCAT函数需要2个参数


阅读 168

收藏
2021-03-23

共1个答案

小编典典

通过讨论,很明显,问题出在使用VS2010编写查询,因为它使用了CONCAT()受限于2个参数的规范函数。可能有一种方法可以更改它,但我不知道。

替代:

SELECT '1'+'2'+'3'

这种方法需要将非字符串值强制转换/转换为字符串,以及NULL通过ISNULL()或进行处理COALESCE()

SELECT  ISNULL(CAST(Col1 AS VARCHAR(50)),'')
      + COALESCE(CONVERT(VARCHAR(50),Col2),'')
2021-03-23