如果现有记录之间的时间差大于时间分钟数,如何更新记录



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

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

您可以将间隔添加为:

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.00 06.10

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

TIMESTAMPDIFF(unit,datetime_expr1,datetime_expr2)

甲骨文的相关答案:

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

最新更新