【发布时间】:2016-09-22 23:48:15
【问题描述】:
我正在尝试将数值转换为日期。我在下面的答案中找到了它
SELECT CONVERT(DATETIME, CONVERT(FLOAT, 41547))
我得到的输出是 2013-10-02 00:00:00.000
但是,如果我在 excel 中检查 41547 的日期值,它会给我 2013-09-30,这比我在 SQL Server 中得到的要少 2 天。
请帮助我理解这种转换。
如何获得 2013-09-30 而不是 2013-10-02 的号码 41547。
【问题讨论】:
-
这可能是因为您将值转换为
float,这是一个近似数据类型。如果你改为使用integer,你会得到什么? -
我忘了修改,我使用 float 和 int 都给了我相同的结果。
-
你是对的,我得到了相同的结果,也适用于 excel。我不知道 excel 是如何进行转换的,但我更相信 sql-server...
标签: sql-server date datetime sql-server-2012