ITPub博客

首页 > Linux操作系统 > Linux操作系统 > SQL datediff用法( 返回两个日期之间的间隔)

SQL datediff用法( 返回两个日期之间的间隔)

原创 Linux操作系统 作者:iSQlServer 时间:2009-11-23 13:13:52 0 删除 编辑

DATEDIFF   函数   [日期和时间]  

  作用    
  返回两个日期之间的间隔。

   语法  
  DATEDIFF   (   date-part,   date-expression1,   date-expression2   )   
  date-part   :  
  year   |   quarter   |   month   |   week   |   day   |   hour   |   minute   |   second   |   millisecond   
  ( 分别代表:年,季,月,周,天,时,分,秒,毫秒)
  参数   
    date-part    指定要计算其间隔的日期部分。    
    date-expression1   某一间隔的起始日期。从   date-expression2   中减去该值,返回两个参数之间   date-parts   的数值。 

    date-expression2   某一间隔的结束日期。从该值中减去   Date-expression1,返回两个参数之间   date-parts   的数值。  

示例:

  下面的语句返回   1:

  SELECT   datediff(   hour,   '4:00AM',   '5:50AM'   )

 下面的语句返回   102:    
  SELECT   datediff(   month,   '1987/05/02',   '1995/11/15'   )

 下面的语句返回   0:   

 SELECT   datediff(   day,   '00:00',   '23:59'   )

 下面的语句返回   4: 

  SELECT   datediff(   day,   '1999/07/19   00:00',   '1999/07/23   23:59'   )

 下面的语句返回   0: 

  SELECT   datediff(   month,   '1999/07/19',   '1999/07/23'   )

 下面的语句返回   1:  
  SELECT   datediff(   month,   '1999/07/19',   '1999/08/23'   )  

用法  
  此函数计算两个指定日期之间日期部分的数值。结果为日期部分中等于(date2   -   date1)的有符号的整数值。

  当结果不是日期部分的偶数倍时,DATEDIFF   将被截断而不是被舍入。 

  当使用   day   作为日期部分时,DATEDIFF   返回两个指定的时间之间(包括第二个日期但不包括第一个日期)的午夜数目。

  当使用   month   作为日期部分时,DATEDIFF   返回两个日期之间(包括第二个日期但不包括第一个日期)月中第一天的数目。

 当使用   week   作为日期部分时,DATEDIFF   返回两个日期(包括第二个日期但不包括第一个日期)之间星期日的数目。       
  对于更小的时间单位存在溢出值:

  milliseconds           24   天     
  seconds           68   年    
  minutes           4083   年     
  others           没有溢出限制  

    如果超出这些限制,此函数将返回溢出错误。    
    标准和兼容性  
  SQL/92           Transact-SQL   扩展。  

  SQL/99           Transact-SQL   扩展。

  Sybase           与   Adaptive   Server   Enterprise   兼容。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/16436858/viewspace-620298/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-10-17

  • 博文量
    1319
  • 访问量
    2343012