代码改变世界

sqlserver 2012中实现字符串连接的新方法

2012-04-18 17:27  java ee spring  阅读(365)  评论(0编辑  收藏  举报


--sqlserver 2012之前的版本

/* 处理not null字符 */

DECLARE @t1 varchar(10) = 'a'
DECLARE @t2 varchar(10) = 'b'
DECLARE @t3 varchar(10) = 'c'
DECLARE @t4 varchar(10) = 'd'
DECLARE @N1 int = 2012
SELECT @t1+@t2+@t3+@t4+convert(varchar(10),@N1 ) as result
go

/* 处理 null字符 */

DECLARE @t1 varchar(10) = 'a'
DECLARE @t2 varchar(10) = 'b'
DECLARE @t3 varchar(10) = null
DECLARE @t4 varchar(10) = 'd'
DECLARE @N1 int = 2012

SELECT @t1+@t2+ISNULL(@t3,'')+@t4+convert(varchar(10),@N1 ) as result
GO

如果这里不使用isnull判断,那么我们获得的值将为null, 与我们期望的大相径庭.


---sqlserver 2012中

 


SELECT CONCAT('a','b','c','d','2012') as result
go


/* 处理not null字符 */

DECLARE @t1 varchar(10) = 'a'
DECLARE @t2 varchar(10) = 'b'
DECLARE @t3 varchar(10) = 'c'
DECLARE @t4 varchar(10) = 'd'
DECLARE @N1 int = 2012

SELECT CONCAT(@t1, @t2, @t3, @t4, @N1) as result
go


/* 处理 null字符 */

DECLARE @t1 varchar(10) = 'a'
DECLARE @t2 varchar(10) = 'b'
DECLARE @t3 varchar(10) = null
DECLARE @t4 varchar(10) = 'd'
DECLARE @N1 int = 2012

SELECT CONCAT(@t1, @t2, @t3, @t4, @N1) as result
go