此查询的时间约束

时间:2013-06-27 22:57:57

标签: sql sql-server-2012

我想对此查询进行时间限制,但我的所有尝试都失败了:( 我希望时间约束从此日期2013-06-21 13:15:00.0002013-06-28 13:15:00.000。 这些时间位于名为trendLog15Min的列中名为UTCTimeStamp的表中。

这是我想要时间约束的查询:

SELECT a.UTCTimeStamp, CASE WHEN a.ElapsedValue = b.ElapsedValue THEN 1 ELSE 0 END AS ConstantData
FROM tblLive_trendLog_15Min a,tblLive_trendLog_15Min b
WHERE a.UTCTimeStamp = dateadd(minute, -15, b.UTCTimeStamp)

非常感谢你。

1 个答案:

答案 0 :(得分:1)

您是否只想添加WHERE条件:

SELECT a.UTCTimeStamp, CASE WHEN a.ElapsedValue = b.ElapsedValue THEN 1 ELSE 0 END AS ConstantData 
FROM tblLive_trendLog_15Min a
    JOIN tblLive_trendLog_15Min b 
        ON a.UTCTimeStamp = dateadd(minute, -15, b.UTCTimeStamp)
WHERE a.UTCTimeStamp >= '2013-06-21 13:15:00.000' 
    AND a.UTCTimeStamp <= '2013-06-28 13:15:00.000'

请注意,我更改了您的查询以使用INNER JOIN

你也可以使用BETWEEN(虽然我喜欢大于/小于使用日期时):

WHERE a.UTCTimeStamp BETWEEN '2013-06-21 13:15:00.000' AND '2013-06-28 13:15:00.000'