Oracle SQL 求两个时间差

本文介绍如何在OracleSQL中计算两个时间戳之间的差值,通过拼接日期和时间字段,利用to_date()函数统一格式后进行计算,并将结果转换为分钟显示。

一、需求

三个字段分别表示时间,字段 info 格式为:"2019-10-10 05:13" ,字段 mydate 格式为:"2019-10-10",字段 mytime 格式为 :"03:24"。

二、解决

想求这两个时间的差,首先要把 mytime 带上日期,与 mydate 字段拼接,其次将 info 与 拼接后的字段做差。

三、代码实现

Oracle SQL语法中两个时间不能直接做减法,需要使用 to_date() 函数统一时间格式后才能做计算。

(TO_DATE(info, 'yyyy-mm-dd hh24:mi:ss') - TO_DATE((mydate || ' '|| mytime), 'yyyy-mm-dd hh24:mi')) * 24 * 60 AS subtract

代码解释:

1. to_date() 函数使 info 字段变为 'yyyy-mm-dd hh24:mi:ss' 格式;

2. (mydate || ' '|| mytime) 中 || 起到字符串拼接的作用;

3. * 24 转换为小时,再 * 60 转换为分钟 。

 

以上,问题解决。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值