2016-10-13 73 views
0

我已經看到很多將Unix時間從其他格式轉換爲datetime的情況,但從微秒起並沒有什麼。你怎麼能選擇一個時間戳爲1470562081943371的字段,而不會出現輸出爲YYYY-MM-DD HH:MM:SS:MM的溢出?如何將微秒內的Unix時間轉換爲SQL Server?

+0

可以使用BIGINT確認的結果嗎? – Jeremy

+0

是的,這就是它將存儲在。 – Fastidious

+0

那麼...選擇它?我剛剛創建了一個類型爲bigint的變量,存儲了這個數字並且沒有問題地選擇了它。不知道你真正的問題是... – Jeremy

回答

1

不知道這是否是單位是正確的,但是......

Declare @UnixTime bigint = 1470562081943371 
Select DateAdd(MS,round(((@UnixTime/1000000.)-(@UnixTime/1000000))*1000,0),DateAdd(SECOND,(@UnixTime/1000000),'1970-01-01 00:00:00')) 

返回

2016-08-07 09:28:01.943 

http://www.epochconverter.com/

enter image description here

+0

看起來不錯。我知道這是2016年8月7日 – Fastidious

+0

@挑剔這很鼓舞人心。希望你能確認時間部分。如果你不在乎毫秒,只需剝離第一個DateAdd(MS ... –

+1

@Fastidious Confirmed !! http://www.epochconverter.com/ –

相關問題