0
我需要創建一個存儲大於24小時的列。例如'25:00:00'
,'129:23:12'
等)。在SQL Server 2005中計算大約24小時以上
該列將用於執行datetime
區間間的計算:'時間'。
我試圖
SELECT CAST((CAST(CAST(RIGHT('107:37', 6) as datetime) AS FLOAT))/(207.160) AS DATETIME)
如果
低於'23:59'
而不是'107:37'
工作的罰款。
'107:37'
給予錯誤:
The conversion of a char data type to a datetime data type resulted in an out-of-range datetime value.
這很愚蠢。如果你想計算時間或日期間隔,那麼爲什麼不使用日期時間類型,時間和日期函數呢? – paulsm4 2012-04-24 07:06:58
只存儲秒數會不會更簡單?轉換爲小時和分鐘是簡單的算術。 – Joni 2012-04-24 07:07:51
不,將數字存儲爲日期時間會更簡單,並使用諸如datediff()之類的函數。例如:http://stackoverflow.com/questions/1770594/how-to-calculate-difference-in-hours-decimal-between-two-dates-in-sql-server – paulsm4 2012-04-24 07:09:32