I have built logic to fetch the data using 2 fields and using instr and I need to search for exact pattern matching in the below. However I am getting different pattern match output as well. Can anyone pls help on this.Also I wanted to use instr only not any regular match functions like regex_inst:
**Input** : attr_value and object_name are the field names.
| attr_value |
object_name |
| select 'exec test_INC.MC_INS_SO_STAT;' FROM DEFAULTDB |
test_INC.MC_INS_SO_STAT |
| select 'exec test_INC.MC_INS_SO_STAT_Anom |
test_INC.MC_INS_SO_STAT |
| select 'exec test_INC.MC_INS_SO_ST;' |
|
**Output** :
| attr_value |
| select 'exec test_INC.MC_INS_SO_STAT;' FROM DEFAULTDB |
| select 'exec test_INC.MC_INS_SO_STAT_Anom' |
**Expected Output**:
| attr_value |
| select 'exec test_INC.MC_INS_SO_STAT;' FROM DEFAULTDB |
I have tried this logic: IIF (INSTR (upper(attr_value),upper(OBJECT_NAME)) > 0 ,1, 0 )
but its giving me different pattern too as mentioned in output which is not as per my expected output. If you can pls help how to tweak the logic to fetch the exact match records only.
It is not quite clear what is the logic behind your expected output from sample data provided. If it is that you want to fetch the row where ATTR_VALUE contains OBJECT_NAME followed by semicolon and single quote with some more text after that then it could be done like below:
... If it is just about containing OBJECT_NAME followed by semicolon and sigle quote then you can get the same row with just the first WHERE clause condition: