SQL Server:连接多个列的最佳方法?

D. *_*aan 14 sql sql-server-2012

我试图连接SQL Server 11.00.3393中的查询中的多个列.

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

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

SELECT CONCAT(CONCAT(CONCAT(COLUMN1,COLUMN2),COLUMN3),COLUMN4) FROM myTable
Run Code Online (Sandbox Code Playgroud)

我不能COLUMN1 + COLUMN2因为NULL价值观而使用.

编辑

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

CONCAT函数需要2个参数

Har*_* CO 16

通过话语很明显,问题在于使用VS2010来编写查询,因为它使用了CONCAT()限于2个参数的规范函数.可能有一种改变方法,但我不知道.

替代:

SELECT '1'+'2'+'3'
Run Code Online (Sandbox Code Playgroud)

此方法需要将非字符串值转换/转换为字符串,以及NULL处理via ISNULL()COALESCE():

SELECT  ISNULL(CAST(Col1 AS VARCHAR(50)),'')
      + COALESCE(CONVERT(VARCHAR(50),Col2),'')
Run Code Online (Sandbox Code Playgroud)