三种数据库计算时间差的函数和方法

1、SQL Server  ——  DATEDIFF()函数用法

1、作用:计算两个日期之间的时间间隔。

2、语法:

DATEDIFF(datepart,startdate,enddate)

3、参数:

datepart:设置想要什么格式的时间差

datepart参数值对应代表意思
yyyy、yy、year
qq、q、quarter季度
mm、m、month
dd、d、dw、w、day
ww、wk、week
hh、hour小时
mi、n、minute分钟
ss、s、second
ms、millisecond毫秒
mcs微妙
ns纳秒

startdate:开始时间

enddate:结束时间

4、例子:

SELECT DATEDIFF(dd, '2023-09-01', '2023-10-01') AS day;  --输出结果30,表示:相差30天

2、mySQL  ——  DATEDIFF()函数用法

1、作用:计算两个日期之间的时间间隔,以日为单位。

2、语法:

DATEPART(startdate,enddate)

3、参数:

startdate:开始时间

enddate:结束时间

4、例子:

SELECT DATEDIFF('2023-09-01', '2023-10-01') AS day;  --输出结果30,表示:相差30天

3、Oracle —— 计算时间差函数

1、作用:计算两个日期之间的时间间隔。

 2、语法:

计算相差年数:

select floor(((months_between(TO_DATE('2023-10-25','yyyy-mm-dd hh24:mi:ss'),TO_DATE('2001-05-20','yyyy-mm-dd hh24:mi:ss')))/12))
As year from song; --输出22,表示相差22年

计算相差月数

select floor(months_between(TO_DATE('2023-10-25','yyyy-mm-dd hh24:mi:ss'),TO_DATE('2023-05-20','yyyy-mm-dd hh24:mi:ss')))
As month from song;    --输出5,表示:相差5个月

计算相差天数

select TO_NUMBER(TO_DATE('2023-10-25','yyyy-mm-dd hh24:mi:ss')- TO_DATE('2023-09-20','yyyy-mm-dd hh24:mi:ss'))
AS day from song;  --输出35,表示相差35天

计算相差小时

select TO_NUMBER((TO_DATE('2023-10-25','yyyy-mm-dd hh24:mi:ss')- TO_DATE('2023-10-26','yyyy-mm-dd hh24:mi:ss'))*24)
AS hour from song;    --输出24,表示相差24小时

计算相差分钟


select TO_NUMBER((TO_DATE('2023-10-25','yyyy-mm-dd hh24:mi:ss')- TO_DATE('2023-10-26','yyyy-mm-dd hh24:mi:ss'))*24*60)
AS minute from song;     --输出1440,表示相差1440分钟

计算相差秒数

select TO_NUMBER((TO_DATE('2023-10-25','yyyy-mm-dd hh24:mi:ss')- TO_DATE('2023-10-26','yyyy-mm-dd hh24:mi:ss'))*24*60*60)
AS second from song;     --输出864000,表示相差864000秒

  • 10
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值