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)