PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Wie werden alle Ergebnisse aus der Tabellenzeile verkettet?

Schnell und schmutzig:

SELECT t::text FROM tbl t WHERE id = 1;
  • t ist ein Alias ​​für die Tabelle und wird nicht unbedingt benötigt. Sie können auch den ursprünglichen Tabellennamen verwenden. Aber wenn Sie eine Spalte mit demselben Namen haben, hat diese Vorrang.

  • Also t stellt den Zeilentyp der Tabelle dar, der bei der Ausgabe automatisch zur Textdarstellung gezwungen wird.
    Ich habe make eine explizite Umwandlung hinzugefügt es text auch intern - falls Sie irgendetwas damit machen wollen ...
    t::text ist Postgres-Kurznotation für den SQL-Standard cast (t AS text) , die Sie auch verwenden können. Details im Handbuch.

  • Möglicherweise möchten Sie die (einfachen!) führenden und abschließenden Klammern kürzen, die einen Zeilentyp angeben:

    SELECT right(left(t::text, -1), -1))
    FROM   tbl AS t
    WHERE  id = 1;
    
  • "dirty", weil Sie die Postgres-Zeilennotation erhalten, ist das Trennzeichen zufällig nur das Komma, nach dem Sie gefragt haben, aber einige Werte werden bei Bedarf auch mit Escapezeichen und / oder doppelten Anführungszeichen versehen.