我有一个名为Tracker的表,有多列但我真的只想将一列(状态)重置为0,如果另一列中的时间戳是当前时间减去10小时。
这是我的查询
update Tracker
set Status = '0'
Where status <> '0' and lastlogintime <= dateadd(HH, -10,CURRENT_TIMESTAMP)
我自己的时间戳是15:59,现在的实际时间是14:51。如果我运行此查询,它会将我的状态重置为0,即使15:59大于14:51 - 10小时。如果我将查询更改为lastlogintime >= dateadd(HH, -10,CURRENT_TIMESTAMP)
,则不会将状态重置为0.
有人可以帮我解决这个问题吗? 谢谢。
答案 0 :(得分:0)
问题是CURRENT_TIMESTAMP
返回的值是DATETIME
。你需要做一些像
CAST(lastlogintime AS TIME) <= CAST(DATEADD(hh, -10, CURRENT_TIMESTAMP) AS TIME)