簡體   English   中英

t-sql獲取日期完全匹配或在指定分鍾內的記錄

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM