我试图在不使用trunc的情况下获取SYSDATE与我的一个表中的列之间的天数,因为我需要时间戳包含在减法中。
我试图实现与下面代码类似的功能,但没有使用trunc

select * from table_name where trunc(sysdate) - trunc(column_name) > 60;

注意column_name是时间戳而不是日期。

最佳答案

使用间隔数据类型定义间隔。to_dsinterval()将格式为“dd hh24:mi:ss”的字符串转换为间隔,在这种情况下正好是60天:

select * from table_name
where column_name < sysdate - to_dsinterval('60 0:0:0');

关于sql - 如何在Oracle中不使用TRUNC的情况下获得天数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54752190/

10-11 05:02