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

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

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

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.