Variablen Substitution unterdrücken

Hi,

ich möchte Daten aus Oracle in FlatFiles schreiben
und dabei die Kommaseparierung per Parameter über-
geben.

Ich habe zwei Möglichkeiten gefunden

  1. mit DEFINE

DEF SEP=’,’
spo output
select 1||’&SEP’||2 from dual
spo off

  1. mit SET COLSEP

set colsep ‚,‘
spo output
select 1,2 from dual
spo off

Das Problem bei Variante 1 ist, dass mir in den ersten
beiden Zeilen die Variablen Substitution angezeigt wird.
old 1: select 1||’&SEP’||2 from dual
new 1: select 1||’,’||2 from dual
1,2

und bei Variante 2, dass ich Spaces zwischen den Ausgabe
Werten habe (mal angedeutet durch _)
_______1,_______2

Ich will einfach nur folgendes:
1,2

das kann doch eigentlich nicht so schwierig sein oder ??

danke schonmal
chz

Hallo,

mein Vorschlag: String selbst „zusammenschrauben“, ohne Variable zu verwenden:

select trim (to\_char(1)) || ',' || trim (to\_char(2)) from dual;

trim eliminiert führenden und nachfolgenden whitespace.
Ist vielleicht nicht die schönste, jedoch eine sicher funktionierende Methode (vor allem ohne lange in der Oracle-Doku zu suchen)

Gruß,
Bernhard

Hi chz (???),

Das Problem bei Variante 1 ist, dass mir in den ersten
beiden Zeilen die Variablen Substitution angezeigt wird.
old 1: select 1||’&SEP’||2 from dual
new 1: select 1||’,’||2 from dual

wie gut, wenn man ein manual hat (oder andere, die die richtige Stelle in der Doku kennen):

SET SHOW[MODE] {ON|OFF}

Controls whether SQL*Plus lists the old and new settings of a SQL*Plus
system variable when you change the setting with SET. ON lists the settings; OFF suppresses the listing. SHOWMODE ON has the same
behavior as the obsolete SHOWMODE BOTH.

und bei Variante 2, dass ich Spaces zwischen den Ausgabe
Werten habe (mal angedeutet durch _)
_______1,_______2

In diesem Fall wirst du um COLUMN-Befehle (COLUMN NAME FORMAT ) nicht herumkommen, ansonsten mit TRIM() usw.

Gruß
bbr