本文主要是介绍Oracle SQL 求两个时间差,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一、需求
三个字段分别表示时间,字段 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 转换为分钟 。
以上,问题解决。
这篇关于Oracle SQL 求两个时间差的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!