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

Oracle执行Select '('abc','def','ghi')' as values from dual报错ORA-00923咨询

解决ORA-00923错误:你的Oracle查询语句问题分析

咱们直接说问题出在哪——你写的字符串里的单引号没有正确转义!在Oracle中,如果你想在字符串常量里包含单引号,必须用两个连续的单引号来表示一个实际的单引号。

你的原语句里'('abc','def','ghi')'这部分,Oracle会把第一个'当作字符串的起始标记,然后遇到'abc'后面的'就误以为字符串已经结束了,剩下的,def','ghi')'就成了毫无意义的语法碎片,系统自然找不到预期的FROM关键字,于是抛出ORA-00923错误。

正确的查询语句应该是这样的:

Select '(''abc'',''def'',''ghi'')' as values from dual;

改法的逻辑:

把每个原本要放在字符串里的单引号'都替换成两个'',这样Oracle就能正确识别字符串内的单引号了:

  • '(' 改成 '(''(表示字符串开头的(,紧接着一个单引号)
  • abc' 改成 abc''(表示abc后面跟着一个单引号)
  • 以此类推,整个字符串会被Oracle正确解析为('abc','def','ghi')

执行正确语句后的输出:

Values
-------------
('abc','def','ghi')

这样就能得到你想要的结果啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 07:37:36