在 SSIS 中将 varchar 数据类型转换为日期时间

Posted

技术标签:

【中文标题】在 SSIS 中将 varchar 数据类型转换为日期时间【英文标题】:Conversion of varchar data type to datetime in SSIS 【发布时间】:2020-09-25 13:03:16 【问题描述】:

我正在尝试在 SSMS 上运行一个存储过程,我在 SSIS 上开发并在 SSMS 上调用它,我遇到了数据转换问题,这是我所做的设置和错误

当我像这样在 ssms 上运行它时:

执行 dbo.PS_00790_SyntheseDG_Commission_EchF_InfoTechq @DateDebPer = '01/01/2015' , @DateFinPer = '31/12/2020'

它可以工作,但我想使用 ssis 包从 ssis_catalogue 运行它

【问题讨论】:

【参考方案1】:

不要使用模棱两可的日期格式。如果您正在使用字符串作为日期,则使用yyyyMMddyyyy-MM-ddThh:mm:ss.nnnnnnn。然而,SSIS 有一个 datetime 数据类型,因此请改用它,并且首先不要遭受任何隐式转换。

【讨论】:

我对另一个存储过程做了同样的事情,它可以工作!但不是在这个:( 做了 what @wassimremmas 吗? 我在屏幕截图中所做的相同设置 但是在屏幕截图中,变量的数据类型是 string...这些显然是日期,所以请使用 datetime 数据类型。 如果变量的数据类型[User::DateDebPer]datetime 并且参数在执行T-SQL 任务参数中配置为date 那么问题与SSIS 无关问题出在您的程序定义中,@wassimremmas 。你应该发布它的定义。

以上是关于在 SSIS 中将 varchar 数据类型转换为日期时间的主要内容,如果未能解决你的问题,请参考以下文章

在 SSIS 中将 ODBC DB2 源转换为平面文件错误

在 MySQL 中将 int 转换为 varchar 数据类型

如何在 SQL Server 中将 varchar 数据转换为时间

SSIS MYSQL 到 SQL 数据类型

有没有办法在 AWS Redshift 中将 VARCHAR 转换为 DATE?

SSIS - 修复源数据中数据类型不正确的数据