没有求一个月天数的函数,其实很简单,用下个月第一天跟这个月第一天比较就可以得出了.用DateAdd函数就可以了.

解决方案 »

  1.   

    create function f_aa(@n datetime)
    returns int
    as
    begin
    return(
    datename(d,cast(convert(varchar(4),dateadd(m,1,@n),12)+'01' as datetime)-1)
    )
    end--select dbo.f_aa('20050201')
      

  2.   

    datediff(day,left(@ym ,4) + '-' + substring(@ym,5,2) +'-01'  ,
           left(@ym,4) +'-'+cast(cast(substring(@ym,5,2) as int)+1  as char)+'-01') as day_tota
      

  3.   

    select  datediff(day,cast(month(GetDate()) as varchar)+'-'+cast(month(GetDate()) as varchar)+'-15' ,cast(month(GetDate()) as varchar)+'-'+cast(month(GetDate())+1  as varchar)+'-15')