随便给定一个日期如20070205  如何求这个月的最大日期和最小日期

解决方案 »

  1.   

    select convert(char(8),convert(datetime,'20070205' ),21)+'01'  ---最小日期
      

  2.   

    select convert(datetime ,convert(char(8),DATEADD(Month,1 ,convert(datetime,'20070205' ) ) ,21)+'01')-1
      

  3.   

    select convert(char(8),convert(datetime,'20070205' ),21)+'01'  ---最小日期
    select convert(datetime ,convert(char(8),DATEADD(Month,1 ,convert(datetime,'20070205' ) ) ,21)+'01')-1    ----最大日期
      

  4.   

    declare @dt datetime
    set @dt='20070205' 
    --A. 月的第一天
    SELECT CONVERT(datetime,CONVERT(char(8),@dt,120)+'1')--B. 月的最后一天
    SELECT DATEADD(Day,-1,CONVERT(char(8),DATEADD(Month,1,@dt),120)+'1')