美文网首页
DATEDIFF() 函数,计算日期时间差

DATEDIFF() 函数,计算日期时间差

作者: NewForMe | 来源:发表于2019-07-14 22:17 被阅读0次

    定义

    datediff()函数返回两个日期之间的时间。

    语法

    datediff(datepart,startdate,enddate)
    startdateenddate 参数是合法的日期表达式。
    datepart参数可以是下列的值:

    实例

    --计算当前日期和指点日期之间的时间间隔
    --当前日期:2019-07-14 22:16:59.647 (因时间一直在表所以存在误差) 指定日期:2018-07-13
    
    select getDATE()
    --1、年
    select datediff(year,'2018-07-13',getdate());--output:1
    select datediff(year,getdate(),'2018-07-13');--output:-1
    select datediff(year,getdate(),getdate());--output:0
     
    --2、季度
    select datediff(quarter,'2018-07-13',getdate());--output:4
     
    --3、一年的日数(按年来计算有多少天)
    select datediff(dayofyear,'2018-07-14',getdate());--output:365
    select datediff(y,'2018-07-13','2019-07-14');--output:366
     
    --4、月
    select datediff(month,'2018-07-13',getdate());--output:12
     
    --5、日
    select datediff(day,'2018-07-13',getdate());--output:366
    select datediff(day,'2018-07-13','2019-07-13');--output:365
     
    --6、周
    select datediff(week,'2018-07-13',getdate());--output:53
    select datediff(ww,'2019-06-13',getdate());--output:5
     
    --7、一周的日数(按周来计算有多少天)
    select datediff(w,'2018-07-13',getdate());--output:366
    select datediff(w,'2019-06-13',getdate());--output:31
     
    --8、小时
    select datediff(hour,'2018-07-13',getdate());--output:8806
    select datediff(hour,'2019-07-13',getdate());--output:46(24+22点)
     
    --9、分钟
    select datediff(minute,'2019-07-14 11:00:00',getdate());--output:675
     
    --10、秒
    select datediff(second,'2019-07-14 11:00:00',getdate());--output:40584
     
    --11、毫秒
    select datediff(millisecond,'2019-07-14 11:00:00',getdate());--output:40597113
    
    

    案例
    来一个复杂一点的语句,查询未过期但一个月内将过期商品

    select * from goods
    where datediff(day,GETDATE(),Expire)<=30
    and datediff(day,GETDATE(),Expire)>0
    

    相关文章

      网友评论

          本文标题:DATEDIFF() 函数,计算日期时间差

          本文链接:https://www.haomeiwen.com/subject/rjaikctx.html