Sql 字符串操作类COALESCE

SqlServer中肯定有过将表中某列的值拼接成字符串,以","或者其他符号隔开的情况吧,一般情况我们会这样做:

declare @returnValue nvarchar(max)=‘‘;

select @returnValue+=‘,‘+Col1 from Table1 where ....

set @returnValue=substring(@returnValue,1,len(@returnValue)-1) --去掉最前面的,

然后再将@returnValue变量的值截取,这样操作其实感觉很麻烦 再看看利用sqlserver提供的内部方法实现:

declare @returnValue nvarchar(max)=‘‘

select @returnValue=coalesce(@returnValue+‘,‘+Col1,Col1) from Table1 where ....

个人更喜欢后面那种方式,略简单些:

coalesce(ex1,ex2,ex3...):此方法返回参数中第一个不为null的参数

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。