如果现有记录之间的时差超过时间分钟,如何更新记录?

时间:2015-06-19 12:16:01

标签: sql oracle oracle11g timestamp-arithmetic

我有一个数据类型为TimeStamp的列“STARTDATETIME”。现在我想检查如果现有记录时间比当前时间多10分钟,那么我将更新该行的状态。

String updateData = "update test_bank set status = 'FAILED' where  '"CurrentDateTime()+"' > startdatetime";

2 个答案:

答案 0 :(得分:3)

您可以将间隔添加为:

SYSTIMESTAMP + INTERVAL '10' MINUTE

例如,

SQL> SELECT SYSTIMESTAMP tm , SYSTIMESTAMP + INTERVAL '10' MINUTE new_tm FROM dual;

TM                                            NEW_TM
--------------------------------------------- --------------------------------------
19-JUN-15 06.00.23.284000 PM +05:30           19-JUN-15 06.10.23.284000000 PM +05:30

SQL>

在上面的输出中,将10分钟添加到06.0006.10的时间戳。

答案 1 :(得分:0)

如果您使用的是mysql,那么可以使用一个名为TIMESTAMPDIFF的函数来计算两个时间戳之间的差异。

TIMESTAMPDIFF(unit,datetime_expr1,datetime_expr2)

Oracle的相关答案:

https://dba.stackexchange.com/questions/53924/how-do-i-get-the-difference-in-minutes-from-2-timestamp-columns