DATEDIFF和日期转换投掷错误

时间:2013-05-10 14:21:46

标签: ssis

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

开始日期和结束日期的格式为MMDDYYYY,因此我首先使用派生列将其更改为'MM/DD/YYYY'格式,方法是使用以下SUBSTRING函数:

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

这个功能在SSMS中运行得很好,但是当我在SSIS中使用相同的功能时,它会抛出错误。我还尝试在功能之前添加(DT_DATE)的结果,仍然没有运气,有人可以指出我正确的方向吗?

错误讯息:

  

TITLE:Microsoft Visual Studio

     

数据流任务错误[派生列[34]]:解析表达式   “   SUBSTRING(起始日期,1,2)+ '/' + SUBSTRING(起始日期,3,2)+ '/' + SUBSTRING(起始日期,5,4)”   失败。行号为“1”的单引号,字符编号   “32”,没想到。

     

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

     

数据流任务错误[派生列[34]]:表达式“   SUBSTRING(起始日期,1,2)+ '/' + SUBSTRING(起始日期,3,2)+ '/' + SUBSTRING(起始日期,5,4)”   on“output column”StartDate“(62)”无效。

     

数据流任务错误[派生列[34]]:无法设置属性   “输出列”“StartDate”(62)“。

上的”表达式“

1 个答案:

答案 0 :(得分:0)

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