Oracle SQL WHERE子句含&字符串触发输入窗口的解决方法
解决Oracle SQL Developer中字符串含&符号触发参数输入的问题
在Oracle SQL Developer中,&符号默认会被识别为绑定变量的占位符,所以你查询里的'Jekyll & Hyde'会触发参数输入窗口。以下是几种可行的修正方法:
方法1:临时关闭会话的变量替换功能
在执行目标查询前,先运行这条命令:
SET DEFINE OFF;
之后再执行你的查询,此时&会被当作普通字符串处理,不会弹出输入窗口。
方法2:用ASCII码替代&符号
将字符串中的&替换为CHR(38)(38是&的ASCII编码),修改后的WHERE子句如下:
WHERE table.books IN ('Jekyll ' || CHR(38) || ' Hyde','Power')
方法3:全局关闭SQL Developer的变量替换功能
如果不想每次都执行SET命令,可以在软件设置中永久关闭:
- 点击顶部菜单 工具 -> 偏好设置
- 展开 数据库 -> 工作表
- 取消勾选 定义变量 选项
- 点击 应用 并保存设置
之后所有查询中的&都会被当作普通字符处理。
内容的提问来源于stack exchange,提问作者user18709081
相关产品推荐
相关产品推荐

