好的,我有 2 列:last_time_used和prev_time_used。我正在尝试编写一个查询,该查询将获取所有时差为 2 小时的记录。例如
SELECT * FROM table WHERE last_time_used - prev_time_used >= 2
上面的查询得到一个错误,说它期望 INTERVAL DAY TO SECOND 但得到一个数字。
我在这里看到了类似的问题,但没有一个似乎适合我正在尝试做的事情。
使用时间戳算术,您需要使用 INTERVAL 数据类型:
SELECT * FROM table WHERE last_time_used - prev_time_used >= interval '2' hour
注意:代码未经测试。
看看这个矩阵:http
://docs.oracle.com/cd/E11882_01/server.112/e26088/sql_elements001.htm#g196492
一些例子:
TIMESTAMP - TIMESTAMP 返回 INTERVAL
DATE - DATE 返回 NUMBER(天数)
DATE - TIMESTAMP 返回 INTERVAL
等。