You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

执行含单引号的Oracle查询遇ORA-01756错误,求正确执行方法

解决Oracle SQL中的ORA-01756: 引用的字符串未正确终止错误

这个问题是Oracle SQL里很典型的单引号转义问题,我来帮你梳理清楚原因和解决方法:

问题重现

你在SQL*Plus中执行查询时的上下文和出错语句如下:

SQL*Plus: Release 11.2.0.1.0 Production on Thu May 24 11:24:48 2018 
Copyright (c) 1982, 2010, Oracle. All rights reserved. 

Connected to: 
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production 
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options 

SQL> select 'I'm Looking for study guides 1Z0-071, 1Z0-146, 1Z0-148!' from dual; 

随即触发了错误提示:

错误:ORA-01756: 引用的字符串未正确终止

问题原因

错误的根源在字符串里的'I'm部分:第一个单引号标记了字符串的开始,Oracle解析到第二个单引号时,会默认认为这是字符串的结束位置,剩下的m Looking for study guides ...就成了无效的SQL语法,自然抛出报错。

正确的执行方法

在Oracle SQL中,要在字符串内部使用单引号,必须用两个连续的单引号进行转义——Oracle会把连续的两个单引号解析成一个普通的单引号字符,而非字符串的结束标记。

修正后的查询语句如下:

select 'I''m Looking for study guides 1Z0-071, 1Z0-146, 1Z0-148!' from dual;

执行这条语句后,你会得到预期的输出结果:

I'm Looking for study guides 1Z0-071, 1Z0-146, 1Z0-148!

内容的提问来源于stack exchange,提问作者rushchel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 10:00:59