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;