So behandeln Sie ein einfaches Anführungszeichen in Oracle SQL

79

Wie füge ich einen Datensatz in eine Spalte mit dem Datentyp varchar mit einem einfachen Anführungszeichen ein?

Beispiel : Vorname ist ROBERTund Nachname istD'COSTA

Subhashis
quelle

Antworten:

151

Verwenden Sie zwei einfache Anführungszeichen

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

NAME
-------
D'COSTA

Alternativ können Sie die neue Anführungsmethode (10 g +) verwenden :

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

NAME
-------
D'COSTA
Vincent Malgrat
quelle
Was ist, wenn wir zwei aufeinanderfolgende einfache Anführungszeichen benötigen? Ist in diesem Fall die "alternative" Methode gedacht?
Richard-Degenne
@RichouHunter Sie würden vier einfache Anführungszeichen verwenden : 'D''''COSTA' => D''COSTA. Alternativ:q'$D''COSTA$'
Vincent Malgrat
Danke, das hat mir geholfen! Als Referenz finden Sie hier ein weiteres Oracle-Dokument zur alternativen Anführungszeichen-Syntax für Textliterale, das etwas besser liest als das verknüpfte PL / SQL-Dokument.
DanK
@Dank Ich stimme zu, die SQL-Referenz ist klarer als das PL / SQL-Dokument zu diesem Thema (ich habe den Link auf die neueste Version aktualisiert).
Vincent Malgrat
0

Ich habe festgestellt, dass die obige Antwort einen Fehler bei Oracle SQL darstellt. Sie müssen auch unten eckige Klammern verwenden.

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


Ergebnis: Paddy O'Reilly

Mur3ph
quelle