如何在 Oracle SQL 中处理单引号
Posted
技术标签:
【中文标题】如何在 Oracle SQL 中处理单引号【英文标题】:How to handle a single quote in Oracle SQL 【发布时间】:2010-05-20 15:30:01 【问题描述】:如何在具有单引号的 varchar 数据类型的列中插入记录?
示例:名字是ROBERT
,姓氏是D'COSTA
【问题讨论】:
【参考方案1】:使用两个单引号
SQL> SELECT 'D''COSTA' name FROM DUAL;
NAME
-------
D'COSTA
或者,使用new (10g+) quoting method:
SQL> SELECT q'$D'COSTA$' NAME FROM DUAL;
NAME
-------
D'COSTA
【讨论】:
如果我们需要两个连续的单引号怎么办?在这种情况下,“替代”方法是否适用? @RichouHunter 您将使用四个单引号:'D''''COSTA' => D''COSTA
。或者:q'$D''COSTA$'
谢谢,这对我有帮助!作为参考,这里有另一个Oracle document,关于文本文字的替代引用语法,它比链接的 PL/SQL 文档读起来要好一些。
@Dank 我同意,关于此主题的 SQL 参考比 PL/SQL 文档更清晰(我已将链接更新到最新版本)。【参考方案2】:
我发现上面的答案给出了 Oracle SQL 的错误,您还必须使用方括号,如下;
SQL> SELECT Q'[Paddy O'Reilly]' FROM DUAL;
结果:Paddy O'Reilly
【讨论】:
以上是关于如何在 Oracle SQL 中处理单引号的主要内容,如果未能解决你的问题,请参考以下文章