我们在平时操作数据库时,有时候可能误操作删除或更新了数据。
oracle有as of timestamp进行数据恢复
UPDATE base_device t1
SET t1.backfield =
(SELECT backfield
FROM base_device AS OF TIMESTAMP SYSDATE - 30 / 1440
WHERE t1.id = id
);
数据库表:base_device
修改字段:backfield
当前时间:SYSDATE
30 :30分钟前
1440 :24*60m=1440m(分钟)
SYSDATE-30/1440是啥意思,1440又是怎么来的?
首先60(分)×24=1440,这样就计算出一天拥有多少分钟,SYSDATE是系统函数,用来取得当前的系统时间(以天为单位),SYSDATE-30/1440,得出的就是距当前时间30分钟前的记录了。后面示例中需要计算之前的某个时段时,均是使用这一方法。