Abfrageergebnis in einen String umwandeln (CSV-Format)

ands71

Benutzer
Beiträge
5
Hallo zusammen,

gibt es eine einfache Möglichkeit, das Ergebnis einer Abfrage in einen einzigen String umzuwandeln?

Beispiel: Meine Tabelle sieht so aus:

+-------+--------+---------+
| Kunde | Name | Ort |
+-------+--------+---------+
| 1000 | Maier | Hamburg |
| 2000 | Müller | Berlin |
| 3000 | Schulze| München |
+-------+--------+---------+


Diese möchte ich umwandeln in folgenden Text:

Kunde;Name;Ort\n1000;Maier;Hamburg\n2000;Müller;Berlin\n3000;Schulze;München

Vorab vielen Dank für eure Hilfe
Andreas
 
Werbung:
Ja:

Code:
test=*# create table ands71 (kunde text, name text, ort text);
CREATE TABLE
test=*# copy ands71 from stdin;
Enter data to be copied followed by a newline.
End with a backslash and a period on a line by itself, or an EOF signal.
>> 1000   maier   hamburg
>> 2000   müller   berlin
>> 3000   schulze   münchen
>> \.
COPY 3
test=*# copy ands71 to stdout csv delimiter ';';
1000;maier;hamburg
2000;müller;berlin
3000;schulze;münchen
test=*# copy ands71 to stdout csv header delimiter ';';
kunde;name;ort
1000;maier;hamburg
2000;müller;berlin
3000;schulze;münchen
test=*#

Beim COPY-Befehl kannst auch statt stdout einen Dateinamen angeben, dann landet das dort.
 
Vielen erst mal.

Kann ich diesen Output auch in ein Tabellenfeld schreiben? In etwa so:

INSERT INTO tbl_ouput (csv)
... (hier dann die Tabelle umgewandelt in ein Textfeld) ...
 
Das ist eine Krückenlösung ;)
In der Umgebung, in der die Anwendung ausgeführt wird, kann ich keine Daten in eine Datei exportieren. Daher möchte ich den Inhalt der CSV-Datei erst mal in einem Tabellenfeld festhalten. Von dort kann ich es über die Zwischenablage in eine Datei übertragen.
 
Der LOAD DATA bringt mir nichts, wenn ich schon keine Export-Datei erzeugen kann. Notfalls muss ich mir überlegen, ob ich doch dafür eine Funktion schreibe...
 
Werbung:
Zurück
Oben