我需要在此查询中添加一个额外的" AND"检查两个记录之间的时间是否至少为2小时。这是原始查询:
SELECT COUNT(Viewed) FROM [Views] WHERE userIP = @userIP AND MessageID=@MessageID
我尝试像这样添加第二个AND:
SELECT COUNT(Viewed) FROM [Views] WHERE userIP = @userIP
AND MessageID=@MessageID
AND (@Now - dateTime)>2
也是这样的:
SELECT COUNT(Viewed) FROM [Views] WHERE userIP = @userIP
AND MessageID=@MessageID
AND DATEDIFF(HOUR, @Now, dateTime)>2
@Now = datetime now,(2015-01-26 09:08:28.183)
dateTime =发布记录表格中的日期时间(2015-01-25 11:06:15.001
但我没有得到结果。怎么做?
答案 0 :(得分:0)
试试这个;
DATEDIFF(SECOND, [dateTime], @Now) > (2 * 60 * 60)
这假设您的[dateTime]值都是过去的。如果将来也可以将它包装在ABS()中。
答案 1 :(得分:0)
您错误地将值放在Datediff()
中,使用@now作为最后一个参数
DECLARE @OMG Datetime
SET @OMG = '2015-01-25 11:06:15.001'
SELECT DATEDIFF(HOUR, @OMG, GETDATE())
IF (DATEDIFF(HOUR, @OMG, GETDATE()) > 2)
BEGIN
PRINT 'Yes'
END
ELSE
BEGIN
PRINT 'NO'
END