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

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

¿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

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.