timestamp sql查询

时间:2011-09-04 19:02:24

标签: java sql

我尝试执行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。

1 个答案:

答案 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())
        )