select @varstring = "01/" | "01/"  | convert(char(4) , @intyear) 
select @varday = convert(datetime,@varstring)

解决方案 »

  1.   

    create PROCEDURE p_sxr  @intyear char(4)
    AS
    declare @varday datetime
    declare @varstring varchar(20)
    delete  from jjr where year(rq ) = @intyear and lx = 0set @varstring = '01/' +'01/'  +  convert(char(4) , @intyear) 
    set @varday = convert(datetime,@varstring)
    print @varday
    GO
    exec p_sxr '2002'
      

  2.   

    CREATE PROCEDURE p_sxr  @intyear char(4)
    AS
    declare @varday datetime
    declare @varstring varchar(20)
    delete  from jjr where year(rq ) = @intyear and lx = 0
    set @varstring = "01/" | "01/"  | convert(char(4) , @intyear) 
    set @varday = convert(datetime,@varstring)
    GOselect 可以连续赋值.
      

  3.   

    1 把" 改 '
    2 把| 改 + 
    3 如果 dd/mm/yyy
    convert(datetime,@varstring) -> convert(datetime,@varstring,103)
    如果 mm/dd/yyy
     convert(datetime,@varstring) -> convert(datetime,@varstring,101)