如何在Informatica映射的Filter转换中过滤结尾特定值的行?
Informatica Filter转换实现结尾匹配过滤的解决方案
当然可以在Informatica的Filter转换里实现这个逻辑,你之前的写法无效大概率是语法细节没注意到,给你几个可行的方案:
修正LIKE语法:确保使用英文单引号,正确的过滤条件应该是:
col1 LIKE '%- Test'之前的问题可能是用了中文单引号‘’,Informatica只识别英文单引号''。
用RIGHT函数替代(更可靠):如果LIKE还是有问题,可以通过截取字段结尾的指定长度字符来匹配,比如“- Test”是6个字符,直接对比:
RIGHT(col1, 6) = '- Test'要是怕数错字符数,用LENGTH函数动态获取长度更通用:
RIGHT(col1, LENGTH('- Test')) = '- Test'用INSTR函数定位匹配:从字段末尾开始查找目标字符串,只要找到就说明结尾匹配:
INSTR(col1, '- Test', -LENGTH('- Test')) > 0这里
-LENGTH('- Test')表示从字段倒数对应长度的位置开始查找,找到则返回位置大于0。
另外如果字段末尾有多余空格导致匹配失败,可以先对col1做TRIM处理后再匹配,比如:
TRIM(col1) LIKE '%- Test'
但要注意,这会去掉字段前后的所有空格,只有业务允许时才建议使用。
内容的提问来源于stack exchange,提问作者user17178722
相关产品推荐
相关产品推荐

