row_to_json関数でクエリを選択する 質問する

row_to_json関数でクエリを選択する 質問する

例えば、私は次の関数を使って を に変換しますrowsjsonPostgreSQL 9.2

select row_to_json(row(productid, product)) from gtab04;

以下の結果が返されます

row_to_json
---------------
{"f1":3029,"f2":"DIBIZIDE M TAB"}
{"f1":3026,"f2":"MELMET 1000 SR TAB"}
{"f1":2715,"f2":"GLUCORED FORTE"}
{"f1":3377,"f2":"AZINDICA 500 TAB"}
  • 残念ながら、フィールド名は失われ、f1、f2、f3 などに置き換えられます。
  • 実際のフィールド名またはキャストフィールド名を取得するにはどうすればよいですか?

ベストアンサー1

この問題を回避するには、行タイプを作成して行をそのタイプにキャストするか、サブクエリを使用する必要があります。通常はサブクエリの方が簡単です。

select row_to_json(t)
from (
   select productid, product from gtab04
) t

おすすめ記事