Cómo manejar una cotización única en Oracle SQL

79

¿Cómo inserto un registro en una columna que tiene el tipo de datos varchar con comillas simples?

Ejemplo : el nombre es ROBERTy el apellido esD'COSTA

subhashis
fuente

Respuestas:

151

Utilice dos comillas simples

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

NAME
-------
D'COSTA

Alternativamente, use el nuevo método de cotización (10g +) :

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

NAME
-------
D'COSTA
Vincent Malgrat
fuente
¿Qué pasa si necesitamos dos comillas simples sucesivas? ¿Es este caso el método "alternativo"?
Richard-Degenne
@RichouHunter Se podría utilizar cuatro comillas simples: 'D''''COSTA' => D''COSTA. Alternativamente:q'$D''COSTA$'
Vincent Malgrat
¡Gracias, esto me ayudó! Como referencia, aquí hay otro documento de Oracle con respecto a la sintaxis de citas alternativa para literales de texto que se lee un poco mejor que el documento PL / SQL vinculado.
DanK
@Dank Estoy de acuerdo, la referencia SQL es más clara que el documento PL / SQL sobre este tema (actualicé el enlace a la versión más reciente).
Vincent Malgrat
1

Encontré que la respuesta anterior da un error con Oracle SQL, también debe usar corchetes, a continuación;

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


Resultado: Paddy O'Reilly

Mur3ph
fuente