[英]t-sql get record where date is exact match or within specified minutes
我正在尋找一條記錄,其中日期是完全匹配或在5分鍾內。
SELECT @TripId = t.Id
FROM Obd.TodaysTrip t WITH(NOLOCK)
WHERE (t.DeviceId = @Id)
AND (t.LastAccOnTime = @LastAccOnTime)
當我傳遞@LastAccOnTime
我還要匹配一條記錄,該記錄距當前最大t.LastAccOnTime
最多5分鍾。
您可以使用datediff
函數檢查t.LastAccOnTime
和@LastAccOnTime
之間的差異:
SELECT @TripId = t.Id
FROM Obd.TodaysTrip t WITH(NOLOCK)
WHERE (t.DeviceId = @Id) AND
(ABS(DATEDIFF(MINUTE, t.LastAccOnTime, @LastAccOnTime)) <= 5)
可以以這種方式使用DATEADD ,以獲取5分鍾前的時間:
AND (t.LastAccOnTime = @LastAccOnTime
OR t.LastAccOnTime BETWEEN DATEADD(minute, -5, @LastAccOnTime) AND @LastAccOnTime)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.