我在Oracle中有一个像这样的表
user_id |名称| Process_Date
1 | ABC | 11/14/2017 5:14:18 PM
我想在ssis中使用oracle源代码中的参数。现在我创建了1个字符串变量Check并将表达式传递为
SUBSTRING( (DT_STR,50, 1256)DATEADD("DAY",-1,GETDATE()) , 1, 10)
它给了我2017-11-14的价值
当在Ole DB Source中我将查询写为
select * from Test where trunc(process_date) = ?. It gives me an error.
然后我尝试使用变量并在变量中加载查询,如
" select * from Test
where trunc(process_date) ="+ @[User::Check]
我检查了变量属性'EvaluateasExpression'它是真的。
但它仍然给我一个错误“不一致的数据类型:预期日期得到数字
这里缺少的任何人都可以告诉我???
答案 0 :(得分:0)
将日期字符串转换为日期可能会出现问题:Error it results is DATE GOT NUMBER
所以表达式需要像这样:
"select * from Test
where trunc(process_date) = to_date('"+ @[User::Check] + "','yyyy-mm-dd')"