我在我的appointments
表中有duration
類型的time(7)
列。如何在SQL Server中將分鐘數轉換爲時間間隔?
我知道如何使用
select durationMinutes = DateDiff(n, a.StartOn, a.EndOn)
from appointments a
但我duration
列time(7)
獲得在預約的分鐘數。
如何將int
轉換爲duration
?
我在我的appointments
表中有duration
類型的time(7)
列。如何在SQL Server中將分鐘數轉換爲時間間隔?
我知道如何使用
select durationMinutes = DateDiff(n, a.StartOn, a.EndOn)
from appointments a
但我duration
列time(7)
獲得在預約的分鐘數。
如何將int
轉換爲duration
?
declare @Time as Time(7) = '01:02:03';
select @Time as 'Time(7)', DateDiff(minute, 0, @Time) as 'Minutes';
declare @Minutes as Int = 90;
select @Minutes as 'Minutes', Cast(DateAdd(minute, @Minutes, 0) as Time(7)) as 'Time(7)';
您可以嘗試DATEADD功能並將分鐘添加到00:00:00時間。
DATEADD(MINUTE, @durationMinutes, '00:00:00')
這似乎是工作。不過令人困惑的是,如果第三個參數中有一個字符串字面值,MSDN會提到返回類型是DateTime。 https://msdn.microsoft.com/en-us/library/ms186819.aspx?f=255&MSPPError=-2147217396 –
我認爲你可以很容易地將日期時間轉換爲時間 – Scoregraphic
在這個答案中聲明@Time有什麼意義? –
@kirsteng - 只顯示雙向轉換的例子:'TIME(7)'到'INT'和'INT'到'TIME(7)'。 – HABO