首页 > 解决方案 > 将日期差异转换为带有时间戳的日期

问题描述

如何将带有时间戳的 2 个日期的差异再次转换为带有时间戳的日期,Oracle 给出数字但我想比较时间戳。

select emp_date>to_date(sysdate,'yyyy-MM-dd HH24:MI:SS')-todate('2021-03-22 10:20:12') from emp;

上面的查询给出错误:预期的日期,但得到了 NUMBER。

提前致谢

标签: oracleplsql

解决方案


你说的毫无意义。两个DATE数据类型值的差异是它们之间的天数。例如

SQL> select sysdate - to_date('21.03.2021 13:12', 'dd.mm.yyyy hh24:mi') diff from dual;

      DIFF
----------
,943217593

SQL>

您可以将其转换为更漂亮的格式(天、小时、分钟、秒),但它仍然是数字,而不是日期。

因此,您不能将EMP_DATE(这是一个DATE数据类型列,不是吗?)与一个数字进行比较,因为它没有任何意义。

2021 年 3 月 22 日是大于还是小于 0.94?两者都不是。


推荐阅读