如何从表中获取最近24小时的记录

时间:2018-12-21 03:59:33

标签: sql oracle

我想使用创建日期字段在(Oracle SQL)表中查找记录,其中记录早于24小时并设置一些状态一次。要使用>这样的运算符来查找记录,但是如果有人可以建议快速SQL where子句语句来查找早于24小时的记录,那将是不错的选择。

2 个答案:

答案 0 :(得分:1)

您可以使用下面的查询来获取相同的内容

选择* 来自mytable 在哪里record_date> = SYSDATE-1

答案 1 :(得分:0)

获取小于24小时的记录:

SELECT * FROM table 
WHERE record_date > SYSDATE - 1

获取早于24小时的记录:

SELECT * FROM table 
WHERE record_date < SYSDATE - 1

获取今天的记录:

SELECT * FROM table 
WHERE record_date >= TRUNC(SYSDATE)

获取今天之前的记录:

SELECT * FROM table 
WHERE record_date < TRUNC(SYSDATE

将早于24小时的记录设置为旧状态:

UPDATE table SET status = 'old'
WHERE record_date < SYSYDATE - 1

请记住,在oracle中为日期添加/减去数字会添加或删除该天数或部分天数。

01-Jan-1970 00:00:00 + 1.5 = 02-Jan-1970 00:06:00

让我们添加3天17小时26分钟:

01-Jan-1970 00:00:00 + 3 + (17/24) + (26/60/24)