我有一张有两个约会的桌子。
Date A
Date B
我需要在日期A后48小时内选择日期B发生的所有行。
样本数据
Date A Date B
1/28/2011 1/19/2014
12/21/2010 1/18/2014
2/5/2014 2/7/2014
在这种情况下,第3行符合条件
答案 0 :(得分:1)
SELECT DateA, DateB
FROM dbo.TableName
WHERE DATEDIFF(hour, DateA, DateB) <= 48
如果ABS
不重要,请使用{{1}}。
答案 1 :(得分:1)
DATEADD()
应该做到这一点。 SELECT DATEADD(hh, 48, getdate())
从现在起48小时后返回。
在您的示例中,您可以使用日期A替换getdate()
,其位置为:
SELECT DateB
FROM x
WHERE DateB BETWEEN DateA AND DATEADD(hh, 48, DateA)