Tuesday 5 June 2012

ORA-32766: instr with negative offset: use varchar semantics on LOBs

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.

No comments:

Post a Comment