我有两个日期(startdate
,enddate
),我需要使用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)“。
上的”表达式“
答案 0 :(得分:0)
请在SSIS表达式中使用双引号("/")
而不是单引号。