指导在informatica中查找精确的模式匹配

问题描述 投票:0回答:1

我已经构建了使用 2 个字段并使用 instr 来获取数据的逻辑,我需要在下面搜索精确的模式匹配。但是我也得到了不同的模式匹配输出。任何人都可以帮忙吗:

**Input** : attr_value and object_name are the field names.
属性值 对象名称
选择“执行 test_INC.MC_INS_SO_STAT;”来自默认数据库 test_INC.MC_INS_SO_STAT
选择“执行test_INC.MC_INS_SO_STAT_Anom” abc_测试
选择“执行 test_INC.MC_INS_SO_ST;”
**Output** :
属性值
选择“执行 test_INC.MC_INS_SO_STAT;”来自默认数据库
选择“执行test_INC.MC_INS_SO_STAT_Anom”
**Expected Output**:
属性值
选择“执行 test_INC.MC_INS_SO_STAT;”来自默认数据库

我尝试过这个逻辑: IIF (INSTR (upper(attr_value),upper(OBJECT_NAME)) > 0 ,1, 0 ) 但它也给了我不同的模式,如输出中提到的,这不符合我的预期输出。如果您可以帮助如何调整逻辑以仅获取完全匹配的记录。

oracle informatica informatica-powercenter informatica-powerexchange
1个回答
0
投票

这个很棘手。您使用的逻辑是正确的,但您需要查找具有可能的结束字符的属性,而不仅仅是值本身。让我试着举个例子来解释一下:

功能:

IIF (INSTR (upper(attr_value),upper(OBJECT_NAME) || CHR(39)) > 0, 1, 0 ) 
OR
IIF (INSTR (upper(attr_value),upper(OBJECT_NAME) || ';') > 0, 1, 0 )

换句话说,我会搜索

test_INC.MC_INS_SO_STAT'
(包括单引号)或
test_INC.MC_INS_SO_STAT;
(包括分号)。

© www.soinside.com 2019 - 2024. All rights reserved.