DAY
返回代表指定日期的天的日期部分的整数。语法
DAY ( date ) 参数
date类型为 datetime 或 smalldatetime 的表达式。返回类型
int注释
此函数等价于 DATEPART(dd, date)。示例
此示例返回从日期 03/12/1998 后的天数。SELECT DAY('03/12/1998') AS 'Day Number'
GO下面是结果集:Day Number 
------------ 
12            在此示例中,以数字表示日期。注意:Microsoft® SQL Server™ 将 0 解释为 01/01/1900。SELECT MONTH(0), DAY(0), YEAR(0)下面是结果集。----- ------ ------
1     1      1900

解决方案 »

  1.   

    看错了,不好意思。
    应该是:
    select DATEDIFF(dd,getdate(),dateadd(mm,1,getdate()))
      

  2.   

    我个人比较喜欢这种简单又不用动脑子的问题:
    CREATE FUNCTION  retunday(@rq datetime)
    RETURNS int   AS  
    BEGIN 
    declare @rq1 int
    select @rq1=DATEDIFF(dd,@rq,dateadd(mm,1,@rq)) 
    return @rq1 
    END
    用法:
    select 库名.dbo.retunday('2002-6-6')
      

  3.   

    同意 remanwang(玩玩儿)
    Declare @YearMonth char(6)
    Declare @BeginDay char(10)
    select @YearMonth='2002-06'
    select @BeginDay=@YearMonth+'-01'
    select datediff(day,@Beginday,dateadd(month,1,@BeginDay))
      

  4.   

    LastDay = Day(DateSerial(testYear, testMonth + 1, 0))
    这种方法更实用,通过dateserial函数可以由分开的年月日得到一个日期,这里巧妙的用了0来使得日期向上一个月的最后一天转换
    从面用DAY函数来得到时间的日,
    如testyear=2002
    testmonth=6
    则7月0号等于6月30号
    所以lastday=30