'2008-02-05' - '2008-01-20''2008-01-25' - '2008-01-20'
'2008-01-25' - '2008-02-28'这样应该怎么算呢 
!SQL 里面有没有类似与oracle里面的days函数

解决方案 »

  1.   

    比較
    日期部份  縮寫  
    年  yy、yyyy 
     
    季  qq、q 
     
    月  mm、m 
     
    一年當中的第幾天  dy、y 
     
    日  dd、d 
     
    週  wk、ww 
     
    星期幾  dw
     
    時  hh 
     
    分  mi、n 
     
    秒  ss、s 
     
    毫秒  ms 
     
      

  2.   

    DATEDIFF :两日期差值
    DECLARE @A DATETIME
    DECLARE @B DATETIME
    SET @A='2008-01-01'
    SET @B='2008-02-01'SELECT DATEDIFF(DAY,@A,@B)----------- 
    31(所影响的行数为 1 行)
      

  3.   

    語法:
    DATEDIFF ( datepart , startdate , enddate ) 
      

  4.   

    select datediff(day,begintime,endtime)
      

  5.   

    select datediff(day,begintime,endtime)
      

  6.   

    datediff(d,start,end)
    第一个参数:日期类型(求差值)
    第二个参数:起始日期
    第三个参数:结束日期
      

  7.   

    select datediff(dd,begintime,endtime)
      

  8.   


    declare @day int
    set @day=datediff(day,'2008-01-25','2008-2-25' )
    print @day
      

  9.   

    DATEDIFF
    返回跨两个指定日期的日期和时间边界数。 语法
    DATEDIFF ( datepart , startdate , enddate ) 参数
    datepart是规定了应在日期的哪一部分计算差额的参数。下表列出了 Microsoft® SQL Server™ 识别的日期部分和缩写。日期部分 缩写 
    year yy, yyyy 
    quarter qq, q 
    Month mm, m 
    dayofyear dy, y 
    Day dd, d 
    Week wk, ww 
    Hour hh 
    minute mi, n 
    second ss, s 
    millisecond ms 
    startdate是计算的开始日期。startdate 是返回 datetime 或 smalldatetime 值或日期格式字符串的表达式。 因为 smalldatetime 只精确到分钟,所以当用 smalldatetime 值时,秒和毫秒总是 0。如果您只指定年份的最后两位数字,则小于或等于"两位数年份截止期"配置选项的值的最后两位数字的数字所在世纪与截止年所在世纪相同。大于该选项的值的最后两位数字的数字所在世纪为截止年所在世纪的前一个世纪。例如,如果 two digit year cutoff 为 2049(默认),则 49 被解释为 2049,2050 被解释为 1950。为避免模糊,请使用四位数的年份。有关时间值指定的更多信息,请参见时间格式。有关日期指定的更多信息,请参见 datetime 和 smalldatetime。 enddate是计算的终止日期。enddate 是返回 datetime 或 smalldatetime 值或日期格式字符串的表达式。返回类型
    integer