首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >将EXCEL日期时间行导入Server后更改为"42507“

将EXCEL日期时间行导入Server后更改为"42507“
EN

Stack Overflow用户
提问于 2016-05-19 14:30:53
回答 2查看 151关注 0票数 0

我遇到了一个问题,在这个Excel表正常工作之前,我已经将它导入了SQL Server几次。

但突然之间,有2行(日期时间)的数据无效。在Excel中,日期时间行已全部更改为2016/12/12

但是,当数据导入Server时,有些数据将更改为某种42507格式,无法使用datediff进行计算。

我对此很困惑,有人能帮忙吗?你的任何想法都会受到极大的赞赏。

提前谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-05-19 14:37:45

Excel将日期存储为整数,即1899-12-30年以来的天数,您可以在Excel中使用=TEXT(A1,”yyyy-mm-dd hh:MM:ss”)存储文本值,以便于导入,但是如果在SQL中已有整数,则可以使用DATEADD(day,yourDate,'1899-12-30')将其转换为正确的日期。

.xlsx (和.docx,pptx等)文件只是存档,文档的内容存储在xml文件中。您可以将扩展更改为.zip,并打开存档了解数据实际上是如何存储的,在大多数情况下,如果不是全部的话,单元格格式不会影响底层值。

票数 1
EN

Stack Overflow用户

发布于 2016-05-19 14:37:38

确保Excel中的字段设置为日期,然后导入工作表。您还可以将5位数字转换为datetime:

代码语言:javascript
代码运行次数:0
运行
复制
UPDATE <yourTable>
SET <dateColumn> = CAST(<dateColumn> as datetime)
WHERE LEN(<dateColumn>) = 5
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37326360

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档