【发布时间】:2019-08-14 01:37:30
【问题描述】:
我在 oracle 中有一个 sql 查询。 我想选择字段“c_time”(按时间戳格式化)比当前时间早 5 分钟的记录。
谢谢
【问题讨论】:
我在 oracle 中有一个 sql 查询。 我想选择字段“c_time”(按时间戳格式化)比当前时间早 5 分钟的记录。
谢谢
【问题讨论】:
我认为典型的方式是:
where c_time < current_timestamp - interval '5' minute
【讨论】:
另一种选择是
where c_time < systimestamp - (5/(24*60))
24*60 用于以分钟为单位转换值。
干杯!!
【讨论】:
我们也可以在这里尝试使用NUMSTODSINTERVAL()函数:
SELECT *
FROM yourTable
WHERE c_time < CURRENT_TIMESTAMP - NUMTODSINTERVAL(5, 'MINUTE');
【讨论】:
这将起作用:
where EXTRACT(year FROM c_time)=EXTRACT(year FROM CURRENT_TIMESTAMP) and
EXTRACT(month FROM c_time)=EXTRACT(month FROM CURRENT_TIMESTAMP)
EXTRACT(day FROM c_time)=EXTRACT(day FROM CURRENT_TIMESTAMP)
EXTRACT(hour FROM c_time) =EXTRACT(hour FROM CURRENT_TIMESTAMP)
EXTRACT(minute FROM c_time)-5>EXTRACT(minute FROM CURRENT_TIMESTAMP)
【讨论】: