Jak obsługiwać pojedynczą ofertę w Oracle SQL

79

Jak wstawić rekord do kolumny o typie danych varchar z pojedynczym cudzysłowem?

Przykład : imię to ROBERTi nazwisko toD'COSTA

subhashis
źródło

Odpowiedzi:

151

Użyj dwóch apostrofów

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

NAME
-------
D'COSTA

Alternatywnie, użyj nowej (10g +) metody cytowania :

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

NAME
-------
D'COSTA
Vincent Malgrat
źródło
A jeśli potrzebujemy dwóch kolejnych pojedynczych cudzysłowów? Czy w tym przypadku jest przeznaczona metoda „alternatywna”?
Richard-Degenne,
@RichouHunter byłoby użyć cztery apostrofów: 'D''''COSTA' => D''COSTA. Alternatywnie:q'$D''COSTA$'
Vincent Malgrat
Dzięki, to mi pomogło! Dla porównania, oto kolejny dokument Oracle dotyczący alternatywnej składni cytowania dla literałów tekstowych, który brzmi trochę lepiej niż połączony dokument PL / SQL.
DanK,
@Dank Zgadzam się, referencje SQL są bardziej przejrzyste niż dokument PL / SQL na ten temat (zaktualizowałem link do najnowszej wersji).
Vincent Malgrat,
1

Znalazłem powyższą odpowiedź podającą błąd w Oracle SQL, należy również użyć nawiasów kwadratowych, poniżej;

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


Wynik: Paddy O'Reilly

Mur3ph
źródło