declare @d datetime
set @d='20031121'select 天数=day(dateadd(month,1,@d)-1)

解决方案 »

  1.   

    --上面的错了,应该是:
    declare @d datetime
    set @d='20031121'select 天数=day(dateadd(month,1,@d)-day(@d))
      

  2.   

    要考虑到大小月天数的变化,应该这样declare @d datetime
    set @d='20031121'
    select day(dateadd(month, 1, dateadd(d, -day(@d) + 1, @d)) - 1)
      

  3.   

    declare @dateX smalldatetime
    set @dateX = '2001-1-3'--本月多少天
    SELECT 32-Day(@datex+(32-Day(@datex)))