ORA-32766: instr with negative offset: use varchar semantics on LOBs
Cause: The current varchar behavior is different. e.g. instr( abcd , cd , -2, 1) returns 3, whereas instr(to_clob( abcd ), cd , -2, 1) returns 0, (i.e. no match), because the reverse search starts from offset -2, which points to c and moving backward, i.e. d is ignored. This is symmetric to instr( dcba , dc ,2,1), which returns 0.
Action: ORACLE uses the same varchar semantics on LOBs (instr). Using the same example, instr(to_clob( abcd ), cd , -2, 1) will return 3 as in the varchar case.
Cause: The current varchar behavior is different. e.g. instr( abcd , cd , -2, 1) returns 3, whereas instr(to_clob( abcd ), cd , -2, 1) returns 0, (i.e. no match), because the reverse search starts from offset -2, which points to c and moving backward, i.e. d is ignored. This is symmetric to instr( dcba , dc ,2,1), which returns 0.
Action: ORACLE uses the same varchar semantics on LOBs (instr). Using the same example, instr(to_clob( abcd ), cd , -2, 1) will return 3 as in the varchar case.
No comments:
Post a Comment