sql >> Databasteknik >  >> RDS >> PostgreSQL

Hur sammanfogar man alla resultat från tabellraden?

Snabbt och smutsigt:

SELECT t::text FROM tbl t WHERE id = 1;
  • t är ett alias för bordet och behövs inte strikt. Du kan också använda det ursprungliga tabellnamnet. Men om du har en kolumn med samma namn har den företräde.

  • t representerar tabellens radtyp, som automatiskt tvingas till textrepresentation vid utdata.
    Jag lade till en explicit cast för att göra det text internt också - om du vill göra något med det ...
    t::text är Postgres kort notation för SQL-standarden cast (t AS text) , som du också kan använda. Detaljer i manualen.

  • Du kanske vill trimma (enkla!) inledande och avslutande parenteser som anger en radtyp:

    SELECT right(left(t::text, -1), -1))
    FROM   tbl AS t
    WHERE  id = 1;
    
  • "smutsig", eftersom du får Postgres radnotation, råkar avgränsaren vara precis kommatecken du bad om, men vissa värden är också escaped och/eller dubbla citattecken om det behövs.




  1. Formatera MySQL-frågeloggdatum

  2. Problem med teckenkodning med linux och mysql

  3. VB.NET och MySql UPDATE-fråga

  4. hur man optimerar den här frågan (4 mm tabeller involverade)