gpt4 book ai didi

sql-server - 使用 SSIS for Excel 导入 SQL Server 的日期格式问题

转载 作者:行者123 更新时间:2023-12-02 10:58:14 30 4
gpt4 key购买 nike

我正在尝试使用 SSIS 将 Excel 2003 电子表格中的一列日期导入到 SQL Server 2005 中。我在英国,所以希望日期格式为 dd/MM/yyyy。

不幸的是,电子表格中的列包含以 dd/MM/yyyy 格式存储为字符串的日期(使用 Excel“常规”格式)以及使用 Excel“日期”格式 dd/MM/yyyy 的日期(使用区域设置) '英语(英国)')。

事情就是这样,我不能指望用户能够自己解决这个问题。

查看电子表格时,所有日期在视觉上都显示正确,即 dd/MM/yyyy。

我正在尝试将值导入到数据库中保存表的 varchar 列中。然后我运行一个存储过程,将这些值复制到包含日期时间列的正确表中。

问题在于,存储在电子表格中并使用日期格式的日期会以 MM/dd/yyyy 的形式导入到 SQL Server 中,而存储为字符串的日期会以 dd/MM/yyyy 的形式导入。我的连接字符串中有 IMEX=1。

当我尝试将日期放入日期时间列时,在同一 varchar 列中使用两种格式的日期显然会导致问题,因此

SET DATEFORMAT MDY;    
SET DATEFORMAT DMY;

没啥用。

有谁知道为什么 SSIS 包会将 Excel 电子表格中看似正确的日期作为 MM/dd/yyyy 导入到 SQL Server 中?

是否有办法强制 SSIS 包将日期导入为 dd/MM/yyyy,以便将日期组合作为字符串和应用了日期格式的单元格来使用?

还有其他想法吗?!

非常感谢,

安东尼

最佳答案

我想你已经回答了你自己的问题。日期格式单元格的导入被视为日期,其他单元格被视为字符串。可能您的 SQL Server 日期设置是 MM/dd/yyyy,因此需要进行转换。

为什么不尝试在 SSIS 包中添加数据转换步骤,并将列中的所有内容转换为单一格式 - 日期时间或字符串。那么我确信 SQL Server 会以相同的方式处理所有这些。

拉杰

关于sql-server - 使用 SSIS for Excel 导入 SQL Server 的日期格式问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1043483/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com