如何在SQL Server中將13位數字如1314637182953轉換爲datetime
?鑄造和轉換都會直接導致算術溢出錯誤!SQL Server - 將13位數字轉換爲datetime
同樣的結果與下面的查詢:
select Convert(datetime, cast(START_DATE as varchar(8)), 112), *
from table
如何在SQL Server中將13位數字如1314637182953轉換爲datetime
?鑄造和轉換都會直接導致算術溢出錯誤!SQL Server - 將13位數字轉換爲datetime
同樣的結果與下面的查詢:
select Convert(datetime, cast(START_DATE as varchar(8)), 112), *
from table
假設它在毫秒UNIX time,嘗試這個辦法:從你的帖子,SQL-2008的回報
DATEADD(SECOND, START_DATE/1000 ,'1970/1/1')
對於數量2011-08-29 16:59:42.000
我們已經遠遠超過了這個時代(1/1/1970),你可能會因上面的代碼而出現溢出錯誤。
可以由所討論鑄造字段作爲BIGINT數據類型容易地固定由1000如下劃分之前:
DATEADD(SECOND, CAST(START_DATE as BIGINT)/1000 ,'1970/1/1')
是什麼數表示? – dasblinkenlight 2011-12-16 19:32:05
它的列定義是長度爲9和精度爲19的數字,但名稱(START_DATE)建議它包含一個日期。該列中的所有值都是13位數字,我需要從中獲取實際日期。 – legendofawesomeness 2011-12-16 19:34:33