如何在Oracle SQL中处理单引号


79

如何在具有varchar数据类型且单引号的列中插入记录?

示例:名字是ROBERT,姓氏是D'COSTA

Answers:


151

使用两个单引号

SQL> SELECT 'D''COSTA' name FROM DUAL;

NAME
-------
D'COSTA

或者,使用新的(10g +)报价方法

SQL> SELECT q'$D'COSTA$' NAME FROM DUAL;

NAME
-------
D'COSTA

如果我们需要两个连续的单引号怎么办?这种情况是“替代”方法的目的吗?
理查德·迪根

@RichouHunter您将使用四个单引号:'D''''COSTA' => D''COSTA。或者:q'$D''COSTA$'
Vincent Malgrat 2015年

谢谢,这对我有帮助!作为参考,这是另一个Oracle文档,该文档关于文本文字的替代引用语法,其读法比链接的PL / SQL文档要好一些。
DanK

@Dank我同意,在此主题上,SQL参考比PL / SQL文档更清晰(我已将链接更新为最新版本)。
文森特·马尔格拉特

0

我发现以上答案给Oracle SQL带来了错误,您还必须在下面使用方括号;

SQL> SELECT Q'[Paddy O'Reilly]' FROM DUAL;


结果:帕迪·奥赖利

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.