SQL查询问题:查询非20_R&D部门员工详情遇替换值弹窗
解决SQL查询中"Enter substitution value for D"的问题
问题原因
你使用的应该是Oracle数据库,它默认将&视为变量替换标记。你的查询语句里'20_R&D'中的&D被数据库识别为需要手动输入的变量,因此弹出提示。
解决方案
以下几种方法都能解决这个问题:
关闭变量替换功能
执行查询前先运行这条命令:SET DEFINE OFF;之后再执行你的原查询语句即可,该设置仅对当前会话生效。
转义
&符号
在&前添加反斜杠\修改查询语句:select * from Employee_Details where Department_id not in ('20_R\&D');字符串拼接绕过
&
用字符串拼接符||拆分包含&的字符串:select * from Employee_Details where Department_id not in ('20_R' || '&' || 'D');改用
<>运算符(单值排除场景)
当仅排除单个值时,也可以用<>替代NOT IN,配合转义使用:select * from Employee_Details where Department_id <> '20_R\&D';
内容的提问来源于stack exchange,提问作者Vibhor Shukla
相关产品推荐
相关产品推荐

