导入到SQL Server后,EXCELdate时间行更改为“42507”

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

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

但是当数据被导入到SQL Server时,有些将会变成42507格式,不能使用datediff来计算。

我对此很困惑,谁能帮忙? 任何你的想法,不胜感激。

提前致谢。

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

.xlsx(和.docx,pptx等)文件只是档案,你的文件的肉存储在XML文件。 您可以将扩展名更改为.zip,然后打开存档以探索数据实际存储的方式,如果不是全部情况,单元格格式不会影响基础值。

确保将Excel中的字段设置为date,然后导入工作表。 你也可以投5个数字作为date时间:

 UPDATE <yourTable> SET <dateColumn> = CAST(<dateColumn> as datetime) WHERE LEN(<dateColumn>) = 5