2012-04-12 13 views
3

Ich möchte Daten aus db2-Tabellen in CSV-Format exportieren. Ich brauche auch, dass die erste Zeile alle Spaltennamen sein sollte.Exportieren von Daten aus db2 mit Spaltennamen

ich wenig Erfolg haben durch die folgende comand mit

EXPORT TO "TEST.csv" 
OF DEL 
MODIFIED BY NOCHARDEL coldel: , 
SELECT col1,'COL1',x'0A',col2,'COL2',x'0A' 
FROM TEST_TABLE; 

Aber damit bekomme ich Daten wie

Row1 Value:COL1: 
Row1 Value:COL2: 
Row2 Value:COL1: 
Row2 Value:COL2: 

usw.

Ich habe auch versucht die folgende Abfrage

EXPORT TO "TEST.csv" 
OF DEL 
MODIFIED BY NOCHARDEL 
SELECT 'COL1',col1,'COL2',col2 
FROM ADMIN_EXPORT; 

Aber dies listet Spaltenname mit jeder Zeilendaten auf, wenn sie mit Excel geöffnet werden.

Gibt es eine Möglichkeit i Daten im Format unter

COL1 COL2 
value value 
value value 

wenn in Excel geöffnet bekommen.

Danke

+0

Da Sie diesen Befehl verwenden, nehme ich an, dass Sie auf LUW sind. Es gibt anscheinend ein Dienstprogramm "Exportieren nach Excel" - können Sie das nicht verwenden? –

+0

Ich möchte es durch Programmcode machen, da es viele viele Tabellen gibt. – yashbinani

Antwort

-1

Fügen Sie die Spaltennamen als erste Zeile in Ihre Tabelle ein.

Verwenden Sie Reihenfolge, um sicherzustellen, dass die Zeile mit den Spaltennamen zuerst ausgegeben wird.

+1

Das ergibt keinen Sinn. Wie würden Sie den Spaltennamen als erste Zeile für eine Spalte mit dem Datentyp INTEGER eingeben? –

6

Nach Tagen der ich die Suche löste dieses Problem, die Art und Weise:

EXPORT TO ... 
SELECT 1 as id, 'COL1', 'COL2', 'COL3' FROM sysibm.sysdummy1 
UNION ALL 
(SELECT 2 as id, COL1, COL2, COL3 FROM myTable) 
ORDER BY id 

Sie keine konstante Zeichenfolge in db2 aus dem Nichts auswählen können, so dass Sie von sysibm.sysdummy1 auswählen. Um die manuell hinzugefügten Spalten in der ersten Zeile hinzuzufügen, müssen Sie eine Pseudo-ID hinzufügen und das UNION-Ergebnis nach dieser ID sortieren. Ansonsten kann sich die Kopfzeile am Ende der resultierenden Datei befinden.

Verwandte Themen