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;

 

posted @ 2024-08-07 11:51  Robot-Blog  阅读(1)  评论(0编辑  收藏  举报