sql - 将序列号转换为日期

标签 sql sql-server excel formatting

在 Excel 工作表中,我将收到数据,然后我需要将其上传到 SQL Server,然后实现逻辑。

我收到了一个日期字段--[截止日期],编号为:-.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 开始计数的假设是否错误,或者我使用的程序给出这样的值是错误的。

最佳答案

我问了similar question不久前 - 它不是在谈论 Excel,而是在谈论 VB6,因此我并不是说这个问题是重复的。不过,我认为答案是一样的。

SQL 中的日期 0 是 01/01/1900。
VB6 中的日期 0 是 1899 年 12 月 30 日,比前 2 天早 - 这解释了其中的差异。
所以我相信 Excel 也是一样的。

在 Excel 中,我在单元格中输入 0 并将单元格格式设置为日期 - 显示(在我看来很奇怪)0/1/1900。我快速浏览了一下,找到了另一篇可以明确回答这个问题的引用资料,但还没有找到。

编辑:
提取问题中提供给我的链接(与 Excel 相关):
http://www.ozgrid.com/forum/showthread.php?t=46561
http://www.joelonsoftware.com/items/2006/06/16.html

关于sql - 将序列号转换为日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3674831/

相关文章:

c# - 如何将 SQL 结果放入 STRING 变量中?

sql - 在存储过程中使用 LIKE 和 IN/OR

mysql - 如何将columnName及其值动态添加到MYSQL表中

sql - 如何在 SQL 中的 IF EXISTS 中使用 AND 条件?

c# - C# 中的西里尔编码

python - 从 VBA 调用 Python 脚本 - 不起作用

sql - 从联合SQL中选择

sql-server - tsql for xml,复杂的 xml

java - 使用 Java 源代码从 MS Excel 导入数据

php - 如何将checkbox的值携带到php页面并输出.xls文件?