大家好,我想请教一下,如何把这样的字符串转换成日期,就是把它转换成最后一天的日期。有什么简单的方法吗?
我自己是通过左边4位,右边取两位,在去判断该月的最后一天来组合出来的。但觉得这样很麻烦,不知道各位有什么简单的办法呢。学习一下。
200801  2008-01-31
200802  2008-02-29        

解决方案 »

  1.   

    declare @dt varchar(50)
    set @dt='200801'
    select convert(varchar(10),dateadd(mm,1,cast(@dt+'01' as datetime))-1,120)
    set @dt='200802'
    select convert(varchar(10),dateadd(mm,1,cast(@dt+'01' as datetime))-1,120)2008-01-312008-02-29
      

  2.   

    DATEADD(Month, 1, '200801' + '01') - 1
      

  3.   

    --以‘200801’为例
    select convert(varchar(10), dateadd(m,1,'200801'+'01') -1,120)
      

  4.   

    select convert(varchar(6),cast('2008-01-31' as datetime),112)
    --------------
    200801
      

  5.   

    select dateadd(day,-1,dateadd(mm,1,'200801'+'01'))
    -------------------------
    2008-01-31 00:00:00.000