Sql-Server
我們如何獲得兩個日期時間之間的小時、分鐘和秒差?
任務的
table
列如下:Task(TaskID, TaskName, CreatedDate)
並希望根據日期時間差執行程式碼塊:
IF 任務 CreatedDate 已過 15 分鐘 THEN
> > 執行塊#01 > > >
ELSE IF 任務 CreatedDate 還沒有超過 15 分鐘 THEN
> > 執行塊#02 > > >
我在下面的查詢中進行了測試,但結果為
61633440
SELECT DATEDIFF(MINUTE, CONVERT(VARCHAR(10), CreatedDate, 108), CURRENT_TIMESTAMP) AS MinuteDiff
我們如何在sql中實現上述目標?
CURRENT_TIMESTAMP返回目前日期時間,例如
2017-03-09 15:19:53.770
.
CONVERT(VARCHAR(10), CreatedDate, 108)
返回一個只有 time 的字元串15:19:53
。DATEDIFF的第二個參數採用日期時間,因此您的字元串被隱式轉換為日期時間。由於 SQL Server 使用的日期沒有更好的用途,
1900-01-01
因此您的第二個參數最終是1900-01-01 15:19:53.000
並且該函式返回自上個世紀初以來的分鐘數。刪除第二個參數中的轉換,它應該適合你。