2014-12-03 96 views
-1

我有2個字段名稱從和。兩個字段都有時間(例如FROM = 20520和TO = 39360)。我想將這些字段轉換並更新爲時間格式(例如FROM = 20520變爲FROM = 05:420:00:00,TO = 39360變爲TO = 10:56:00:00) 謝謝。第二次更新字段到時間

+0

? SQL Server,Oracle,MySQL等? – 2014-12-03 14:36:48

+0

sql server 2008 – user1203397 2014-12-03 14:39:35

+0

如果您已經在2008年,爲什麼不使用['time' datatype](http://msdn.microsoft.com/zh-cn/library/bb677243.aspx)而不是'int '?期望的結果是「時間」還是「varchar」? – 2014-12-03 14:44:12

回答

0

下面是如何將整數轉換爲時間,你可以解決這個問題來更新你的值。 @T是您目前的價值。

declare @T int 
set @T = 205020 

select dateadd(hour, (@T/1000000) % 100, 
    dateadd(minute, (@T/10000) % 100, 
    dateadd(second, (@T/100) % 100, 
    dateadd(millisecond, (@T % 100) * 10, cast('00:00:00' as time(2)))))) 

編輯

你只需要秒鐘部分。

declare @T int 
set @T = 205020 


select dateadd(second, (@T/100) % 100,cast('00:00:00' as time(2))) 

第二個編輯的散貨

update Yourtable 
set FromTime = dateadd(second, ([FROM]/100) % 100,cast('00:00:00' as time(2))), 
ToTime = dateadd(second, ([TO]/100) % 100,cast('00:00:00' as time(2))) 
where {YourFilter for you 10000 records} 
您正在使用什麼數據庫系統
+0

我可以使用這個,但問題如何轉換和更新超過10000條記錄,而不是單個記錄 – user1203397 2014-12-03 15:04:33

+0

任何人都可以幫助我解決這個問題? – user1203397 2014-12-03 15:40:06

+0

批量應用。 – 2014-12-04 06:01:07