1

我有两个日期(startdate, ),我需要使用SSIS 包中enddate的函数来区分两个日期。datediff

开始日期和结束日期采用格式MMDDYYYY,所以首先我使用派生列'MM/DD/YYYY'通过以下SUBSTRING函数将它们更改为格式:

SUBSTRING(startdate,1,2)+'/'+SUBSTRING(startdate,3,2)+'/'+SUBSTRING(startdate,5,4)

这个函数在 SSMS 中运行良好,但是当我在 SSIS 中使用相同的函数时,它会抛出错误。我也尝试(DT_DATE)在函数之前添加结果,仍然没有运气,谁能指出我正确的方向?

错误信息:

标题:Microsoft Visual Studio

数据流任务 [派生列 [34]] 出错:解析表达式“ SUBSTRING(StartDate,1,2)+'/'+SUBSTRING(StartDate,3,2)+'/'+SUBSTRING(StartDate,5,4 )“ 失败的。行号“1”、字符号“32”处的单引号不是预期的。

数据流任务 [派生列 [34]] 出错:无法解析表达式“SUBSTRING(StartDate,1,2)+'/'+SUBSTRING(StartDate,3,2)+'/'+SUBSTRING(StartDate,5, 4)"。表达式无效,或存在内存不足错误。

数据流任务 [派生列 [34]] 出错:表达式“ SUBSTRING(StartDate,1,2)+'/'+SUBSTRING(StartDate,3,2)+'/'+SUBSTRING(StartDate,5,4) ”关于“输出列“StartDate”(62)”无效。

数据流任务 [Derived Column [34]] 出错:无法在“输出列“StartDate”(62)”上设置属性“Expression”。

4

1 回答 1

0

请在 SSIS 表达式中使用双引号("/")而不是单引号。

于 2013-05-20T12:52:19.520 回答