【问题标题】:how do i compare greater than or equal to 1 min of given timestamp我如何比较大于或等于给定时间戳的 1 分钟
【发布时间】:2015-07-02 19:51:44
【问题描述】:

我在 sql server 和 mysql 中有一个表,我的应用程序首先将记录插入到 sqlserver,然后将记录插入到 mysql 表中。

我需要将 mysql 到 sqlserver 的特定记录与 where 条件下的 lastupdated 时间进行比较。我需要像下面给出的比较

select *
  from sqltable
  where sqlupdatedtimestamp > DATEADD(SECOND, 60, MYSQLUPDATETIMESTAMP ); 

我需要把在两个表之间插​​入0到60秒间隔内的记录吗?

【问题讨论】:

  • 您应该查看 DATEDIFF 而不是 DATEADD。
  • 如何检查两个日期之间的时间差是否在 0 到 60 秒之间?你能举个例子吗?
  • 您使用的查询有什么问题?

标签: sql-server sql-server-2008 sql-server-2008-r2 sql-server-2012


【解决方案1】:

使用 DATEDIFF 将是这样的。请注意,这将获得这两个日期时间在一分钟内的任何行。您可能需要根据您的具体要求进行调整。

where DATEDIFF(second, sqlupdatedtimestamp, MYSQLUPDATETIMESTAMP) > -60
AND DATEDIFF(second, sqlupdatedtimestamp, MYSQLUPDATETIMESTAMP) < 60

【讨论】:

  • 这就是我需要的。你太棒了。非常感谢
【解决方案2】:

另一种选择:

select *
from sqltable
where sqlupdatedtimestamp between 
    DATEADD(second, -60, MYSQLUPDATETIMESTAMP )
    AND DATEADD(second, 60, MYSQLUPDATETIMESTAMP )

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-04-16
    • 1970-01-01
    • 2013-05-16
    • 1970-01-01
    • 1970-01-01
    • 2023-03-29
    • 1970-01-01
    相关资源
    最近更新 更多