Talend Context变量

时间:2015-08-06 02:39:14

标签: talend

我是新手Talend开发人员,需要有关上下文变量的帮助。我在这里搜索是否有类似方法的解决方案,没有找到它。

在我的查询中,我必须使用此日期范围功能:

Date BETWEEN to_char((add_months(TRUNC(SYSDATE,'MM'),-2)),'YYYYMMDD') 
AND to_char(LAST_DAY(TRUNC(SYSDATE,'MM')),'YYYYMMDD') 

我们需要使用上下文变量来利用在运行时运行不同的日期范围。在上面的函数中,我在查询中用(date between ="+context.daterange+")替换并尝试将这些函数插入Context - value as tree,如下所示: to_char((add_months(TRUNC(SYSDATE,'MM'),-5)),'YYYYMMDD')'AND'to_char(LAST_DAY(TRUNC(SYSDATE,'MM')),'YYYYMMDD'),我收到以下错误:

  

java.sql.SQLException:ORA-00905:缺少关键字

如果我使用硬编码值"值为树"上下文然后工作 "' 20150301'和' 20150831'"

尝试将此替换为该功能。如何将该功能与AND结合使用。

我的tJavacode

context.DATE = (String)row1.NDate;
你能帮帮忙吗? 感谢

1 个答案:

答案 0 :(得分:0)

日期不能介于两个文本之间。由于您的上下文变量是String,因此使用to_date函数:

"select ... where my_date between to_date("
+TalendDate.formatDate("ddMMyyyy",TalendDate.addDate(new Date(), 2, "MM"))+
",'DDMMYYYY') and 
+TalendDate.formatDate("ddMMyyyy",TalendDate.addDate(new Date(), 5, "MM"))+
");"