2014-11-21 52 views
1

我正在與SQL服務器和Excel中的日期和浮點轉換。Sql服務器和Excel浮動日期偏移量

這是我的查詢:

select getdate(),convert(float, getdate()) 

我得到:

2014-11-21 16:38:49.973  41962,6936339506 

如果我複製此浮點數到Excel和我改變細胞類型的日期我得到這個值:

19-nov-2014 

那是什麼?爲什麼有兩天的時間?

+1

http://stackoverflow.com/a/13722614或2月28日之前/ 1692632 – Darka 2014-11-21 15:44:54

回答

1

SQL服務器簡單計算的持股量從午夜01-JAN-1900的天數的日期時間的轉換(即select convert(DATETIME, 0)1900-01-01 00:00:00.000

Excel計算類似的數字,但零日期是「00/01/1900」。這可能與excel使用基於索引的索引相關,而不是更常見的基於零的索引。第二天的差異來自於well known bug,即excel認爲1900年是閏年。

外賣消息:如果你假設的Excel總是在後面兩天,你會沒事的,除了在1900年