Informatica中where子句中的动态运算符

时间:2014-06-07 12:23:50

标签: sql informatica informatica-powercenter

是否可以使用SQL Transformation在Informatica中创建动态sql运算符。例如。

SELECT p.id 
FROM products p
WHERE p.weight ?operator? '30'

其中?operator?可以包含值:<,> ,=

或甚至: in,而不是

2 个答案:

答案 0 :(得分:3)

SQL转换的SQL编辑器窗口允许使用参数绑定?parameter?)和字符串替换~string~)。你需要后者:

SELECT p.id 
FROM products p
WHERE p.weight ~operator~ '30'

SQL Transformation>中描述了这个主题。转换指南的查询模式章节。

答案 1 :(得分:1)

一个想法是对整个条件使用参数,例如使用此示例paramFile:

[s_m_test_source_param]
$$sq_param = Id = 1

源限定符上的源过滤器属性使用 $$ sq_param 值。在您的情况下,您需要以这种方式设置$$ sq_parameter:

$$sq_param = p.weight > '30'

显然,这不是你一直在寻找的完美解决方案。