如何在Oracle SQL中处理单引号

如何在Oracle SQL中处理单引号,sql,oracle,escaping,Sql,Oracle,Escaping,如何在具有varchar数据类型且包含单引号的列中插入记录 示例:名字是ROBERT,姓是D'COSTA使用两个单引号 SQL> SELECT 'D''COSTA' name FROM DUAL; NAME ------- D'COSTA 或者,使用: 我发现上面的答案给出了一个Oracle SQL错误,您还必须使用方括号,如下所示 SQL>从DUAL中选择Q'[Paddy O'Reilly] 结果:Paddy O'Reilly如果我们需要两个连续的单引号怎么办?在这种情况下,“替代

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

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

使用两个单引号

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

NAME
-------
D'COSTA
或者,使用:


我发现上面的答案给出了一个Oracle SQL错误,您还必须使用方括号,如下所示

SQL>从DUAL中选择Q'[Paddy O'Reilly]



结果:Paddy O'Reilly

如果我们需要两个连续的单引号怎么办?在这种情况下,“替代”方法是针对@RichouHunter的吗?您可以使用四个单引号:
'D''COSTA'=>D''COSTA
。或者:
q'$D''COSTA$”
谢谢,这对我很有帮助!作为参考,这里有另一个关于文本文本的替代引用语法,它的阅读效果比链接的PL/SQL文档好一点。@Dank我同意,在这个主题上,SQL引用比PL/SQL文档更清晰(我已将链接更新到最新版本)。
SQL> SELECT q'$D'COSTA$' NAME FROM DUAL;

NAME
-------
D'COSTA