如何修改Informatica表达式返回指定TO_DATE格式的日期结果
Informatica表达式调整方案
方案1:生成SQL语法格式的字符串输出
如果你需要得到的是可直接嵌入SQL语句的TO_DATE('日期值', '格式')格式字符串,调整逻辑为把日期值用转义后的单引号包裹,拼接成目标格式即可。Informatica中字符串内的单引号需要用两个连续单引号''转义,调整后的完整表达式如下:
IIF( PARAMETER_NAME='$$CURRENT_DATE_IN_SQL_FORMAT', 'TO_DATE(''' || TO_CHAR(SYSDATE,'YYYY-MM-DD') || ''', ''YYYY-MM-DD'')', 'PARAMETER_VALUE')
执行后输出结果示例:TO_DATE('2021-11-25', 'YYYY-MM-DD'),完全符合你的需求。
方案2:返回日期类型值
如果你实际需要的是返回日期类型的结果而非字符串格式的SQL片段,直接使用日期处理函数即可,表达式如下:
IIF( PARAMETER_NAME='$$CURRENT_DATE_IN_SQL_FORMAT', TRUNC(SYSDATE), 'PARAMETER_VALUE')
补充说明:
TRUNC(SYSDATE)会直接返回当前日期的0点时间,和你原来用TO_CHAR再转日期的效果一致,写法更简洁。
内容的提问来源于stack exchange,提问作者Partha
相关产品推荐
相关产品推荐

