在Sql中连接空值列

时间:2011-04-18 11:31:53

标签: sql-server tsql

我使用+来连接多个列的值。但是,如果其中一列具有空值,则+不起作用。例如

Select null+ 'Test'

查询返回null而不是'Test'。

您有什么建议来解决这个问题?

2 个答案:

答案 0 :(得分:18)

在SQL Server 2012之前的版本上,您应该使用

   Select ISNULL(YourColumn,'') + 'Test' /*Or COALESCE(YourColumn,'')*/

避免这个问题。

有一个连接选项SET CONCAT_NULL_YIELDS_NULL OFF,但已弃用。

SQL Server 2012引入了CONCAT函数,该函数在连接时将NULL视为空字符串。

SELECT CONCAT(null,'Test')

答案 1 :(得分:0)

使用IsNull

SELECT IsNull(MyColumn, '') + 'Test' ...