zoukankan      html  css  js  c++  java
  • SQL datediff 计算时间差

    有关datediff的相应信息,见如下:

    DATEDIFF (datepart ,startdate ,enddate )
    datepart

    是指定所跨边界类型的 startdate 和 enddate 的一部分。下表列出了所有有效的 datepart 参数。用户定义的变量等效项是无效的。

     

    datepart

    缩写

    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

    microsecond

    mcs

    nanosecond

    ns

    startdate

    是一个表达式,可以解析为 time、date、smalldatetime、datetime、datetime2 或 datetimeoffset 值。date 可以是表达式、列表达式、用户定义的变量或字符串文字。从 enddate 减去 startdate。

    为避免不确定性,请使用四位数年份。有关两位数年份的信息,请参阅two digit year cutoff 选项

    enddate

    请参阅 startdate。

     

    1.返回相差两个季度时间得记录

    代码如下:需要时,可以将时间字段改为数据库中相应的字段

     declare @startDateTime datetime
     declare @endDateTime datetime
     set @startDateTime='2011-01-01'
     set @endDateTime='2011-07-10' 
     select DATEDIFF(QQ,@startDateTime,@endDateTime)
    

      

    2.搜索最近3个月的订单。

    代码如下:

    declare @startDateTime datetime
    declare @endDateTime datetime
    set @startDateTime='2011-05-01'
    set @endDateTime=GETDATE()
    select DATEDIFF(m,@startDateTime,@endDateTime)
    

      

    3.返回第一单订单时间到最近的一单订单时间的 天数差。

    select DATEDIFF(DAY,(select MIN(insDT) from OP_Order),(select MAX(insDT) from OP_Order)) 

    4.使用GETDATE()函数来获得当前时间,

      若使用GetDate()+1,结果是在现在的时间上多添加一天。

    如:

       GetDate():  2011-08-13 13:53:09.243

       GetDate()+1 :  2011-08-14 13:53:09.243 

       如上,直接在时间的日上加1. 


  • 相关阅读:
    Notes about "Exploring Expect"
    Reuse Sonar Checkstyle Violation Report for Custom Data Analysis
    Eclipse带参数调试的方法
    MIT Scheme Development on Ubuntu
    Manage Historical Snapshots in Sonarqube
    U盘自动弹出脚本
    hg的常用配置
    Java程序员的推荐阅读书籍
    使用shared memory 计算矩阵乘法 (其实并没有加速多少)
    CUDA 笔记
  • 原文地址:https://www.cnblogs.com/ShaYeBlog/p/2693155.html
Copyright © 2011-2022 走看看