【发布时间】:2010-09-09 08:10:53
【问题描述】:
我将在 Excel 工作表中接收数据,然后我需要将其上传到 SQL 服务器,然后实现逻辑。
我收到了一个日期字段--[Due Date],例如:-.40317。在 Excel 中,如果您右键单击它,然后将其格式化为日期。它将显示正确的日期为19.05.2010。
所以在按原样上传文件后。我用过,
SELECT (dateAdd(day,[Due Date],'1900-01-01')) FROM table1.
假设 Excel 从 01-01-1900 开始计算天数。所以我添加了数字--[Due Date] 这应该给我正确的格式化日期..
但这会返回2010-05-21 00:00:00.000 的值。
您能否帮助我是否假设 Excel 从01-01-1900 计数是错误的,或者我使用的程序给出这样的值是错误的。
【问题讨论】:
-
我认为 Excel 正在做的是将 Date 转换为 int 表示形式。你试过直接投射吗?
-
感谢您的回复。我也尝试过 CAST。这也是返回 originaldate+2 天。例如:- 对于这个 40319,它应该返回 21.05.2010。但返回 23.05.10
标签: sql sql-server excel formatting