--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