• 日期函数DATEDIFF() 计算日期之差


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

    detediff(datepart,startdate.endddate)

    satrtdate和enddate是你要计算的开始时间和截止时间

    datepart可以是下面的值:

    年,月 ,周,日,时,分,秒

    举例:

    getdate() 注释:当前日期                    

    下图所示:

    假如今天是七月十四号  

    1 七月十三和七月十四就返回一

    2七月十四就和七月十三返回负一

    3七月十四和七月十四则返回0

    1. select datediff(year,'2018-07-13',getdate());--output:1
    2. select datediff(year,getdate(),'2018-07-13');--output:-1
    3. select datediff(year,getdate(),getdate());--output:0

    QUARTER(date)  注释:返回当前季度 一般是1-4

    select datediff(quarter,'2018-07-13',getdate());--output:4

    同理后面  月  日  周  类似:

    月:

    select datediff(month,'2018-07-13',getdate());--output:12

    日:

    1. select datediff(day,'2018-07-13',getdate());--output:366
    2. select datediff(day,'2018-07-13','2019-07-13');--output:365

    周:

    1. select datediff(week,'2018-07-13',getdate());--output:53
    2. select datediff(ww,'2019-06-13',getdate());--output:5

     一周的天数 按照周有几天来计算:

    1. select datediff(w,'2018-07-13',getdate());--output:366
    2. select datediff(w,'2019-06-13',getdate());--output:31

     小时:

    1. select datediff(w,'2018-07-13',getdate());--output:366
    2. select datediff(w,'2019-06-13',getdate());--output:31

    分钟: 

    select datediff(minute,'2019-07-14 11:00:00',getdate());--output:675

    秒:

    select datediff(minute,'2019-07-14 11:00:00',getdate());--output:675

     毫秒:

    select datediff(minute,'2019-07-14 11:00:00',getdate());--output:675

     最后举例:

    查询一个超时要过期未过期 但是有一个月就要过期的商品:

    1. select * from goods
    2. where datediff(day,GETDATE(),Expire)<=30
    3. and datediff(day,GETDATE(),Expire)>0
  • 相关阅读:
    面向对象17:异常机制
    架构基本概念和架构本质
    【PAT(甲级)】1051 Pop Sequence(栈的进出使用)
    Java项目:SSM简单院校教师工资管理系统
    理解RNN以及模型搭建代码
    国际金融学试题及参考答案
    数据结构(c语言版) 队列
    Kafka简介
    SpringMVC10、拦截器
    Linux常用指令(九)——软件安装
  • 原文地址:https://blog.csdn.net/weixin_43737594/article/details/125537274