Sql server EXCEL日期时间行更改为;42507“;导入SQL Server后
我遇到了一个问题,在它正常工作之前,我已经多次将这个Excel表导入SQL Server 但是突然有两行(datetime)包含无效数据。在Excel中,日期时间行已全部更改为Sql server EXCEL日期时间行更改为;42507“;导入SQL Server后,sql-server,excel,Sql Server,Excel,我遇到了一个问题,在它正常工作之前,我已经多次将这个Excel表导入SQL Server 但是突然有两行(datetime)包含无效数据。在Excel中,日期时间行已全部更改为2016/12/12 但是,当数据导入SQL Server时,有些将更改为42507格式,并且无法使用datediff进行计算 我对此很困惑,有人能帮忙吗?非常感谢你的任何想法 提前谢谢 确保Excel中的字段设置为“日期”,然后导入工作表。 您还可以将5位数字转换为日期时间: UPDATE <yourTable&g
2016/12/12
但是,当数据导入SQL Server时,有些将更改为42507
格式,并且无法使用datediff进行计算
我对此很困惑,有人能帮忙吗?非常感谢你的任何想法
提前谢谢 确保Excel中的字段设置为“日期”,然后导入工作表。 您还可以将5位数字转换为日期时间:
UPDATE <yourTable>
SET <dateColumn> = CAST(<dateColumn> as datetime)
WHERE LEN(<dateColumn>) = 5
更新
SET=CAST(作为日期时间)
其中LEN()=5
确保Excel中的字段设置为“日期”,然后导入工作表。
您还可以将5位数字转换为日期时间:
UPDATE <yourTable>
SET <dateColumn> = CAST(<dateColumn> as datetime)
WHERE LEN(<dateColumn>) = 5
更新
SET=CAST(作为日期时间)
其中LEN()=5
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并打开存档,以了解数据的实际存储方式。在大多数情况下(如果不是所有情况的话),单元格格式不会影响基础值。Excel将日期存储为整数,即自1899-12-30以来的天数,您可以使用
=TEXT(A1,“yyyy-mm-dd hh:mm:ss”)
在Excel中存储文本值以便于导入,但如果SQL中已有整数,则可以使用DATEADD(day,yourDate,'1899-12-30')
将其转换为正确的日期
.xlsx(和.docx、pptx等)文件只是归档文件,文档的内容存储在xml文件中。您可以将扩展名更改为.zip并打开归档文件,以了解在大多数情况下(如果不是所有情况下)数据的实际存储方式,单元格格式不会影响基础值。这将为您提供错误的日期,因为Excel和SQL Server之间的日期不一致。这将为您提供错误的日期,因为Excel和SQL Server之间的日期不一致。