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. 


  • 相关阅读:
    TCP 的那些事儿(转载)
    3. 对象在内存中的布局
    GO语言学习之数据类型-->基本类型(字符串)
    GO语言学习之变量and常量
    wrk
    为什么显示消息“错误:您所在国家/地区是禁运国,无法下载 Java”?
    raw.githubusercontent.com 访问不了
    Windows Terminal
    vue:无法加载文件C:UsersAppDataRoaming pmvue.ps1, 在此系统上无法加载脚本
    vue使用过滤改变el-switch开关的状态
  • 原文地址:https://www.cnblogs.com/ShaYeBlog/p/2693155.html
Copyright © 2011-2022 走看看