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呢

解决方案 »

  1.   

    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
      

  2.   

    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
      

  3.   

    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
      

  4.   

    set @date=rtrim(@Year)+'-'+rtrim(@i)+'-1'