Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server EXCEL日期时间行更改为;42507“;导入SQL Server后_Sql Server_Excel - Fatal编程技术网

Sql server EXCEL日期时间行更改为;42507“;导入SQL Server后

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

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

但是突然有两行(datetime)包含无效数据。在Excel中,日期时间行已全部更改为
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之间的日期不一致。