速くて汚い:
SELECT t::text FROM tbl t WHERE id = 1;
-
t
テーブルのエイリアスであり、厳密には必要ありません。元のテーブル名も使用できます。ただし、同じ名前の列がある場合は、それが優先されます。 -
したがって、
t
テーブルの行タイプを表し、出力時にテキスト表現に自動的に強制変換されます。
makeに明示的なキャストを追加しましたtext
内部的にも-何かをしたい場合は...t::text
SQL標準のcast (t AS text)
のPostgresの短い表記です。 、これも使用できます。 マニュアルの詳細 -
行タイプを示す(単一の!)先頭と末尾の括弧を削除することをお勧めします:
SELECT right(left(t::text, -1), -1)) FROM tbl AS t WHERE id = 1;
-
「ダーティ」、Postgresの行表記を取得するため、区切り文字はたまたま要求したカンマだけですが、必要に応じて一部の値もエスケープまたは二重引用符で囲まれます。