select convert(datetime,(year(getdate())-100)-01-01)我是这样写的?但得出的结果却是1905-03-23 00:00:00.000高人帮忙看看没分了.有没有人送分啊!

解决方案 »

  1.   

    select convert(datetime,convert(varchar(4),year(getdate())-100)+'-01-01')
      

  2.   

    select cast( cast(year(dateadd(year,-100,getdate())) as varchar(4))+'-01-01' as datetime)
      

  3.   

    select convert(datetime,rtrim((year(getdate())-100))+'-01-01')
      

  4.   

    declare @a datetime
    select @a=convert(varchar(5),dateadd(year,-100,getdate()),120)+'01-01'
    select @a
    -----------------------
    1907-01-01 00:00:00.000(1 行受影响)
      

  5.   

    楼上的几位,谢了不过这样得到的是日期+时间如果要得到日期是不是只能是字符类型?
    ----------------------------------------
    恩,SQL沒有單純的日期或者時間格式
      

  6.   

    declare @a datetime
    select @a=convert(varchar(5),dateadd(year,-100,getdate()),120)+'01-01'
    select convert(char(10),@a,120)
    -----------------------
    1907-01-01
    (1 行受影响)
      

  7.   

    select rtrim(year(dateadd(year, -100, getdate()))) +'-01-01'--result
    ------------------ 
    1907-01-01(1 row(s) affected)
      

  8.   

    select  convert(varchar,dateadd(day,-datepart(dayofyear,getdate())+1,dateadd(yy,-100,getdate())),110)