oracle模糊查询报错:ORA-01425 转义符必须是长度为 1 的字符串

查询varchar2类型正确,但当查询字段是nvarchar2时,报错了

ORA-01425 转义符必须是长度为 1 的字符串

sql如下

select * from TEST where BB like '%11%' ESCAPE '/';


这是什么原因造成的呢?

如果改用likec+to_char又可以


select * from TEST where BB likec '%11%' ESCAPE to_char('/');

 

已解决

解决方式:通过将参数CURSOR_SHARING更改为EXACT

alter system set cursor_sharing=EXACT scope=both;

 

select * from TEST where BB like '%11%' ESCAPE '/';

改为

select * from TEST where BB like '%11%' ESCAPE '//';

试试。