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

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

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

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.