SqlServer coalesce 函数

功能一:

SELECT  COALESCE(NULL, NULL, GETDATE()) 

由于两个参数都为null,所以返回getdate()函数的值,也就是当前时间。即返回第一个非空的值。由于这个函数是返回第一个非空的值,所以参数里面必须最少有一个非空的值,如果使用下面的查询,将会报错:

SELECT  COALESCE(NULL, NULL, NULL)  

功能二:

declare @cc nvarchar(Max)
select @cc=coalesce(@cc +','+
client  ,client
) 
FROM t1  
print @cc

结果

 

还有一个很重要的功能:。当你尝试还原一个库,并发现不能独占访问时,这个功能非常有效。我们来打开多个窗口,来模拟一下多个连接。然后执行下面的脚本:

DECLARE @SQL VARCHAR(8000)

SELECT @SQL = COALESCE(@SQL, '') + 'Kill ' + CAST(spid AS VARCHAR(10)) + '; '
FROM sys.sysprocesses
WHERE DBID = DB_ID('AdventureWorks')

PRINT @SQL --EXEC(@SQL) Replace the print statement with exec to execute

posted on 2015-06-16 22:48  忙碌ing  阅读(704)  评论(0)    收藏  举报

导航