Rapide et sale :
SELECT t::text FROM tbl t WHERE id = 1;
-
t
est un alias pour la table et n'est pas strictement nécessaire. Vous pouvez également utiliser le nom de table d'origine. Mais si vous avez une colonne du même nom, elle est prioritaire. -
Donc
t
représente le type de ligne du tableau, qui est automatiquement converti en représentation textuelle en sortie.
J'ai ajouté un cast explicite à make iltext
en interne également - au cas où vous voudriez en faire quelque chose ...t::text
est la notation courte de Postgres pour le standard SQLcast (t AS text)
, que vous pouvez également utiliser. Détails dans le manuel. -
Vous voudrez peut-être supprimer les (simples !) parenthèses de début et de fin qui indiquent un type de ligne :
SELECT right(left(t::text, -1), -1)) FROM tbl AS t WHERE id = 1;
-
"sale", parce que vous obtenez la notation de ligne Postgres, le séparateur se trouve être juste la virgule que vous avez demandée, mais certaines valeurs sont également échappées et/ou entre guillemets doubles si nécessaire.