ORACLE: &-Zeichen in der Zeichenkette

Hallo,

wie kann man ein Sonderzeichen (&amp:wink: in einer Zeichenkette unterbringen?

insert into test values(‚1&1 DSL-Flat‘);

Geben Sie einen Wert für 1 ein:

‚‘ und ‚/‘ tun es nicht, glaube ich
Es muss doch irgendwie möglich sein Einträge mit diesem Zeichen anzulegen?
Gibt es vielleich irgendwelche Routinen, die eineZeichenkette nach unerlaubten Zeichen durchsuchen und diese „ausbügeln“?

Danke
Alex

Hi Alex,
ich vermute mal, dass die Probleme bei SQLPLUS auftreten. Versuchs mal mit

SET DEFINE OFF

um die Variablenersetzung auszuschalten.

gruss
bernhard

… und wenn das nicht klappt nimm den ASCII-CODE und rechne das Zeichen um. Das funktioniert auf jeden Fall.

Gruß

Peter

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo Bernhardt,

ich vermute mal, dass die Probleme bei SQLPLUS auftreten.
Versuchs mal mit

SET DEFINE OFF

um die Variablenersetzung auszuschalten.

Das geht im SQL-Plus.
Ich greife auf ORACLE aus meiner MFC-Anwendung.
Und via ODBC kann ich SET DEFINE OFF irgendwie nicht verwenden.

m_dbCust.ExecuteSQL(„SET DEFINE OFF;“);

Ich bekomme dann: ORA-00922: Fehlende oder ungültige Option.

Oder mache ich hier wwas falsch?

Hallo Pater,

… und wenn das nicht klappt nimm den ASCII-CODE und rechne
das Zeichen um. Das funktioniert auf jeden Fall.

Wie sollte dann SQL-Statement aussehen?

INSERT INTO TEST(TEXT) VALUES(‚1chr(38)1 DSL-Flat‘);…
oder so ähnlich?

Danke
Alex

Hallo Pater,

… und wenn das nicht klappt nimm den ASCII-CODE und rechne
das Zeichen um. Das funktioniert auf jeden Fall.

Wie sollte dann SQL-Statement aussehen?

INSERT INTO TEST(TEXT) VALUES(‚1‘ ||chr(38)1 DSL-Flat’);…
oder so ähnlich?

Danke
Alex

INSERT INTO TEST(TEXT) VALUES(‚1‘ || chr(38) || ‚1 DSL-Flat‘);
sollte gehen.

Viele Grüße
Peter

Hallo Alex!

INSERT INTO TEST(TEXT) VALUES(‚1chr(38)1 DSL-Flat‘);…
oder so ähnlich?

Fast: INSERT INTO TEST(TEXT) VALUES(‚1‘||chr(38)||‚1 DSL-Flat‘);

Gruß,
Martin

Hi!

vielleicht geht irgendwie ein

SET ESCAPE ON

(Escape-Sequenz ist dann das ‚‘)

Grüße,
Tomh

PS: Auch für SQL-Statements gibt’s die ESCAPE-Klausel - allerdings weiß ich nicht, ob das für das INSERT auch funktioniert (für’s SELECT ohne Probleme)