计算 Oracle SQL 中 2 个日期/时间之间的差异

Calculate difference between 2 date / times in Oracle SQL(计算 Oracle SQL 中 2 个日期/时间之间的差异)
本文介绍了计算 Oracle SQL 中 2 个日期/时间之间的差异的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个表格如下:

Filename - varchar
Creation Date - Date format dd/mm/yyyy hh24:mi:ss
Oldest cdr date - Date format dd/mm/yyyy hh24:mi:ss

如何计算 Oracle SQL 中两个日期之间的小时、分钟和秒(可能还有天)的差异?

How can I calcuate the difference in hours minutes and seconds (and possibly days) between the two dates in Oracle SQL?

谢谢

推荐答案

您可以在 Oracle 中减去日期.这会给您带来天数的差异.乘以 24 得到小时,依此类推.

You can substract dates in Oracle. This will give you the difference in days. Multiply by 24 to get hours, and so on.

SQL> select oldest - creation from my_table;

如果您的日期存储为字符数据,则必须先将其转换为日期类型.

If your date is stored as character data, you have to convert it to a date type first.

SQL> select 24 * (to_date('2009-07-07 22:00', 'YYYY-MM-DD hh24:mi') 
             - to_date('2009-07-07 19:30', 'YYYY-MM-DD hh24:mi')) diff_hours 
       from dual;

DIFF_HOURS
----------
       2.5

<小时>

注意:

此答案适用于由 Oracle 数据类型 DATE 表示的日期.Oracle 还有一个数据类型TIMESTAMP,它也可以表示一个日期(带时间).如果你减去 TIMESTAMP 值,你会得到一个 INTERVAL;要提取数值,请使用 EXTRACT 函数.

This answer applies to dates represented by the Oracle data type DATE. Oracle also has a data type TIMESTAMP, which can also represent a date (with time). If you subtract TIMESTAMP values, you get an INTERVAL; to extract numeric values, use the EXTRACT function.

这篇关于计算 Oracle SQL 中 2 个日期/时间之间的差异的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

SQL to Generate Periodic Snapshots from Transactions Table(用于从事务表生成定期快照的SQL)
MyBatis support for multiple databases(MyBatis支持多个数据库)
Oracle 12c SQL: Missing column Headers in result(Oracle 12c SQL:结果中缺少列标题)
SQL query to find the number of customers who shopped for 3 consecutive days in month of January 2020(查询2020年1月连续购物3天的客户数量)
How to get top 10 data weekly (This week, Previous week, Last month, 2 months ago, 3 month ago)(如何每周获取前十大数据(本周、前一周、上个月、2个月前、3个月前))
Select the latest record for an Id per day - Oracle pl sql(选择每天ID的最新记录-Oracle pl SQL)