我需要將毫秒值85605304.3587轉換爲像0d 18h 21m這樣的值。 不知道如何開始,有什麼類似於SQL中的TimeSpan,就像在C#中一樣?SQL將毫秒轉換爲天,小時,分鐘
0
A
回答
3
您可以明確地進行計算。我認爲它是:
select floor(msvalue/(1000 * 60 * 60 * 24)) as days,
floor(msvalue/(1000 * 60 * 60)) % 24 as hours,
floor(msvalue/(1000 * 60)) % 60 as minutes
注:有些數據庫使用mod
,而不是%
。
+0
第3行中的第1個括號使其無法運行。 – KtX2SkD
+0
是的,但它確實工作,一旦刪除,謝謝:) –
0
在MS SQL Server,你可以使用下面的代碼:
with cte as (
select cast(85605304.3587 as int)/1000/60 as [min]
), cte2 as (
select
cast([min] % 60 as varchar(max)) as minutes,
cast(([min]/60) % 24 as varchar(max)) as hours,
cast([min]/(60 * 24) as varchar(max)) as days
from cte
)
select concat(days, 'd ', hours, 'h ', minutes, 'm') as tm
from cte2
1
使用本機date & time functions,也許:
SELECT
AsDateTime = DATEADD(MILLISECOND, 85605304, 0)
, AsDateTime2 = DATEADD(NANOSECOND, 7 * 100, DATEADD(MICROSECOND, 358, DATEADD(MILLISECOND, 85605304, CONVERT(datetime2, CONVERT(datetime, 0)))))
-- Incorrect datetime2 approach I initially did, has some precision loss, probably due to datetime's millisecond issue with 0's, 3's, and 7.'s
--SELECT DontDoThis = DATEADD(NANOSECOND, 7 * 100, DATEADD(MICROSECOND, 358, CONVERT(datetime2, DATEADD(MILLISECOND, 85605304, 0))))
datetime
只包括3個數字超越秒,而datetime2
將保持7個位數。也許其他方式存在類似日期的對象,我不知道。
相關問題
- 1. 如何將毫秒,秒,分鐘,小時轉換爲SQL Server 2005中的天數?
- 2. 將毫秒轉換爲小時,分鐘和秒python
- 3. 將毫秒轉換爲天,小時,分和秒
- 4. 將毫秒轉換爲分鐘
- 5. 將分鐘轉換爲毫秒Java/android
- 6. Mp3將分鐘轉換爲毫秒
- 7. 將秒轉換爲天:小時:分鐘:秒
- 8. 分鐘,秒轉換爲毫秒
- 9. 如何使用jQuery將毫秒轉換爲幾天,幾小時和幾分鐘?
- 10. 將秒轉換爲小時和分鐘
- 11. 如何在JavaScript中將時間毫秒轉換爲小時,分鐘,秒格式?
- 12. 如何顯示在天毫秒爲單位:小時:分鐘:秒
- 13. 如何將270921sec轉換爲天+小時+分鐘+秒? (紅寶石)
- 14. 將秒轉換爲分鐘,小時和天的Java代碼
- 15. 將工作秒數轉換爲周,天,小時和分鐘
- 16. 將NSTimeInterval轉換爲天,小時,分鐘,秒
- 17. 將ntp小時轉換爲毫秒
- 18. 將毫秒轉換爲小時格式
- 19. 如何在SQL中將分鐘轉換爲小時分鐘和秒鐘?
- 20. SQL將時間轉換爲毫秒
- 21. 將分鐘轉換爲小時,分鐘和秒
- 22. PHP/MySQL毫秒到小時:分鐘:秒
- 23. 將毫秒轉換爲小時,分和秒
- 24. SQL將秒數轉換爲分鐘數到小時數
- 25. 如何將毫秒轉換爲小時和天數?
- 26. 將時間轉換爲秒+毫秒秒
- 27. 將總分鐘轉換爲天數,小時數,分鐘數vb
- 28. Mysql將分鐘轉換爲一天的小時分鐘
- 29. C++轉換小時,分鐘,秒到秒
- 30. php - 轉換小時:分鐘:秒。秒
您正在使用哪個[DBMS](https://en.wikipedia.org/wiki/DBMS)? Postgres的?甲骨文?標準SQL中的數據類型(這是'sql'標記引用的內容)將是'interval' –
SQL 2017是我正在使用的 –
沒有標準名爲「SQL 2017」,但我想你的意思是「SQL **服務器** 2017「 –