ORACLE 查询条件出现关键字:&
SQL
select 1 from dual WHERE xxx IN ('AAA&SSS')
编译器提示
原因和解决方法
在Oracle SQL查询中,如果查询条件包含特殊字符如&
,通常需要进行转义处理,以确保查询语句能被正确解析
&
在Oracle中可能被视作替换变量的一部分,因此直接使用时可能导致查询出错
为了正常查询包含&
的字符串,你可以使用CHR(38)
来替换&
,因为CHR(38)
返回的就是&
字符
转义的SQL
SELECT ASCII('&') FROM dual; SELECT CHR(38) FROM dual;