我尝试执行sql查询,检查是否有一些时间(如10秒)从我的表中的上一次时间戳更新过去,如果是,则更换其他表。
我的问题是,是否有任何时间戳条件运算符可以检查这个?例如 < ,> ,=?
(我知道我可以在不同的查询中执行此操作,但我尝试在1个查询中执行此操作)..
像这样的东西
UPDATE Person SET isconnected=false
where person.email=(select from imalive where timestamp<10).
人
电子邮件:dan@gmail.com
name:dan
年龄:20
的IsAlive:
电子邮件:dan@gmail.com
lastseen:2011-09-04 21:27:00
所以最后如果最后一次见到这个人将超过10秒他会去isconnected = false。
答案 0 :(得分:2)
每个数据库的语法会略有变化。以下是使用not exists
的SQL Server的示例:
update Person
set IsConnected = 0
where IsConnected <> 0
and not exists
(
select *
from IsAlive
where Person.email = IsAlive.email
and IsAlive.timestamp > dateadd(s,-10,getdate())
)