日期:2014-05-19  浏览次数:20540 次

大侠给看看这个sql啊,对'的用法总是过敏
declare   @Year   int
set   @Year=2007
declare   @i   int
set   @i=1
declare   @date   char(10)
set   @date= ' '+@Year+ '- '+@i+ '-1 ' ' '
select   @date

想让上边得到
'2007-1-1 '
为什么总是得到
2007呢

------解决方案--------------------
declare @Year int
set @Year=2007
declare @i int
set @i=1
declare @date char(10)
set @date= ' ' ' '+rtrim(@Year)+ '- '+rtrim(@i)+ '-1 ' ' '
select @date
------解决方案--------------------
declare @Year int
set @Year=2007
declare @i int
set @i=1
declare @date char(10)
set @date=rtrim(@Year)+ '- '+rtrim(@i)+ '-1 '
select @date
------解决方案--------------------
declare @Year varchar(10)
set @Year=2007
declare @i varchar(10)
set @i=1
declare @date char(10)
set @date= ' ' ' '+@Year+ '- '+@i+ '-1 ' ' ' ' '
select @date