我有一個日期時間列和一個存儲過程,應該檢查傳遞的參數與列的日期時間之間的差異。SQL檢查日期時間差
基本上,我想返回大於或小於5分鐘的差異。
例如,我有如下表:
ID | Date
----------
1 | 2013-07-20 10:00:00
2 | 2013-07-20 11:00:00
3 | 2013-07-20 10:01:00
4 | 2013-07-20 10:03:00
如果傳遞的參數,例如,是「2013年7月20日10:02:00」,則返回值應該是
1
3
4
因爲它們都在5分鐘的範圍內,少於或多於傳遞的參數。
現在的問題是,如何?
RTFM:http://msdn.microsoft.com/en-us/library/ms189794.aspx –
針對使用'答案使用'DateDiff()'的Abs()' - 這將停止優化器能夠使用'[Date]'字段上的任何索引。 – gvee
只是爲了好玩:)'SELECT GETDATE(, \t CAST(CAST(GETDATE()AS FLOAT)+ 0.003472222222 AS DATETIME), \t CAST(CAST(GETDATE()AS FLOAT) - 0.003472222222 AS DATETIME )' – SQLMason