我有一個項目,涉及比較datetime
字段與當前日期和時間,如果它們之間的差異是10分鐘,那麼我必須選擇某個日期。它涉及到複雜性,如果當前日期和時間比日期大於datetime
。有沒有人有一個簡單的解決方案呢?SQL datetime與當前日期時間的比較
回答
這可以非常簡單使用DATEDIFF
來完成:
IF (SELECT DATEDIFF(MINUTE, a.StartDate, GETDATE())
FROM TableA a) > 10
BEGIN
SELECT *
FROM TableB
END
這只是說,如果當前的時間(GETDATE()
)是過去StartDate
上TableA
超過10分鐘,做別的事情。
注意,如果a.StartDate
是大於GETDATE()
(無論何種原因),中DATEDIFF
值將是負 - 在這種情況下,您只需更改比較> -10
。從評論
編輯:
我想所有這一切都didnt過去10分鐘
這可以通過以下而輕易完成運行SERVERID:
SELECT ServerID
FROM TableA
WHERE DATEDIFF(MINUTE, LastRunTime, GETDATE()) > 10
以下是一些可用於查看DATEDIFF
的行爲的「檢查」 - 有關的評論僅限於關心分鐘是不正確的,但跳到更大的間隔DAY
,MONTH
等確實會引起一些有趣的行爲。
例如:
SELECT DATEDIFF(MONTH, '05/30/2016 08:10:00', '06/01/2016 08:05:00')
返回1(月),儘管是相距僅2天。同樣,
SELECT DATEDIFF(DAY, '05/30/2016 08:10:00', '06/01/2016 08:05:00')
返回2,儘管時間不相當能夠進入2天痕。最後,
SELECT DATEDIFF(YEAR, '12/31/2016 08:10:00', '01/01/2017 08:05:00')
也返回1。
希望這有助於您理解使用DATEDIFF
。
我知道DATEDIFF。在這裏你只是比較分鐘。假設當前時間是2016年5月12日8:10,現場日期是2016年5月11日8:05。它只會比較時間而不是日期,因爲上述2次是相隔一天。希望你越來越。 – user1801774
@ user1801774這是完全錯誤的,當然它需要考慮日期並計算相隔多少分鐘這些日期是 – Lamak
我真的認爲它只會比較相應的日期時間字段(即只有幾分鐘,只有幾小時等),而不考慮其他組件datetime – user1801774
- 1. 比較日期時間到MySQL中的當前日期時間?
- 2. Codeigniter:將MySql日期時間與當前日期進行比較
- 3. 將sql表中的日期與當前日期進行比較
- 4. 在android中比較輸入日期和時間與當前日期和時間
- 5. PHP - 將數據庫日期時間與當前日期時間進行比較
- 6. 如何比較timepicker與當前時間的日期
- 7. 將DateTime與當前日期進行比較
- 8. 比較日期時間當前日期javascript
- 9. SQL日期,期間比較
- 10. 比較時間與日期時間
- 11. 比較當前日期和日期inp
- 12. 比較在日期選擇器日期與當前日期
- 13. 比較日期時間與DateTime?(允許空值)在C#
- 14. c#比較日期時間日期與時間跨度參數
- 15. 比較當前日期到某一時間點(平日,HH:MM)
- 16. SQL日期間隔比較
- 17. 將Start_date與SQL中的當前日期進行比較
- 18. 如何將以前的DateTime與JavaScript中的當前日期時間進行比較
- 19. MySql中與時間比較當前時間在使用SQL行
- 20. Laravel 5.2雄辯比較日期時間與當前數據和時間
- 21. 試圖將日期選擇器時間與當前時間進行比較ios
- 22. TSQL日期時間比較
- 23. DateTime比較兩個日期
- 24. 比較日期和日期時間
- 25. 將當前日期與存儲的日期進行比較
- 26. 獲取與當前日期相比較的最近日期ACF
- 27. SQL Server比較日期時間字段
- 28. SQL日期時間比較錯誤?
- 29. PHP SQL日期時間比較
- 30. 將當前日期/時間與數據庫中的日期/時間進行比較
示例數據和預期輸出 –
假設當前日期時間爲8:04:10 5/12/2016和現場日期爲7:50:10 5/12/2016,時間差超過10分鐘。這是當我想選擇其他領域。 – user1801774
「其他一些領域」,哪一個?,你的意思是排?,另一列?是否真的很難發佈一些樣本數據和期望的結果? – Lamak