2016-03-01 50 views
0

我有24小時在數據庫中存儲爲last_time,我需要在幾分鐘內得出當前時間和last_time之間的差異。我搜查了很多,但在所有情況下,時間差是由兩個日期。請告訴我如何正確使用DiffDate功能,使用24小時格式化時間。如何在24小時內從SQL Server獲取時間差?

+0

你不關心日期,時間正確嗎?沒有日期信息,只有時間正確? – Sharky

+0

是的。我只使用時間進行搜索,因爲總是所有記錄都在同一天。 – nishz

回答

2

對於時差分鐘

SELECT DATEDIFF(mi, last_time, CAST(getdate() as time)) from <TABLE_NAME> 

對於DD時間差:MM:SS

declare @null time 
SET @null = '00:00:00'; 
SELECT DATEADD(SECOND, - DATEDIFF(SECOND, last_time, CAST(getdate() as time)), @null) from <TABLE_NAME> 

對於MySQL

SELECT TIMEDIFF(last_time, cast(now() as time)) as diff 
+0

我不知道爲什麼,但它說,本地函數中的不正確的參數計數爲什麼它不工作datediff @ evil333請幫助? – nishz

+0

什麼是SQL使用? MYSQL,MS SQL,Oracle? – Chendur

+0

我正在使用mysql bro – nishz

1

試試這個:

SELECT DATEDIFF(mi, last_time, CONVERT(varchar(10), GETDATE(), 108)) 
+0

我不知道爲什麼,但它說本地函數中的參數數不正確,爲什麼它不起作用? – nishz

1

我不明白太多的問題。此查詢顯示從上次日期到當天的差異分鐘數。希望它有幫助嗎?

SELECT DATEDIFF (minute, last_date, current_date) 
1

您可以在當前時間使用CAST(GETDATE() AS Time)

SELECT DATEDIFF(MINUTE, Last_Time,CAST(GETDATE() AS Time)) 
FROM TABLE 
相關問題