【问题标题】:DateDiff in PL/SQLPL/SQL 中的 DateDiff
【发布时间】:2015-06-12 10:28:23
【问题描述】:

如何以秒为单位找出两个时间戳之间的差异?

是否有任何系统功能,或者我应该像这样手动计算一些秒

SELECT t1_id,
EXTRACT(Day FROM(mod_date_time – create_date_time) DAY TO SECOND) as Day,
EXTRACT(HOUR FROM(mod_date_time – create_date_time) DAY TO SECOND) as Hour,
EXTRACT(Minute FROM(mod_date_time – create_date_time) DAY TO SECOND) as Minute,
EXTRACT(SECOND FROM(mod_date_time – create_date_time) DAY TO SECOND) as second
FROM t1;

【问题讨论】:

    标签: sql date plsql date-difference


    【解决方案1】:

    在 Oracle 中,日期只是数字。每天是 1 个整数。求秒差的方法如下:

    SELECT (mod_date_time - create_date_time) * 24 * 60 * 60 as "seconds_diff"
    FROM t1
    

    【讨论】:

    • 我得到结果+000007260 00:00:00.000000000,如何转换成数字类型?鹰
    • @asfasas 您始终可以使用适当的掩码转换结果。 mod_date_timecreate_date_time 使用了什么值?
    猜你喜欢
    • 2023-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-30
    • 2020-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多