ブログBlog

    • postgreSQLテーブルからjson形式でSELECTする小ネタ

    • 2016年6月23日
    • PostgreSQL

to_json

postgreSQLでは、テーブルのデータを簡単にjsonオブジェクトとして取得することができます。
select to_json(テーブル名) from テーブル名
とするだけです。 下のようなテーブルがあったとします。 table:services
id name price memo inputdate
1 1450000 基本サービスのみ 2016-06-20 10:23:41
2 1700000 5年サービス追加 2016-06-21 09:11:23
3 2000000 プライムサービス追加 2016-06-22 12:52:37
jsonオブジェクトとして取得してみると、以下のように出力されます。
SELECT to_json(services) from services;

                                                     to_json                                                 

-------------------------------------------------------------------------------------------------------------
----
 {"id":1,"name":"松","price":1450000,"memo":"基本サービスのみ","inputdate":"2016-06-20T10:23:41"}
 {"id":2,"name":"竹","price":1700000,"memo":"5年サービス追加","inputdate":"2016-06-21T09:11:23"}
 {"id":3,"name":"梅","price":2000000,"memo":"プライムサービス追加","inputdate":"2016-06-22T12:52:37"}
(3 rows)

カラム指定できないの?

残念ですが、そのままではできないんです。 name,price,memoだけ取りたい場合は以下のようにWITH句を使います。
WITH tmp AS (
  SELECT name,price,memo FROM services
)
SELECT to_json(tmp) FROM tmp;

                                to_json                                 
------------------------------------------------------------------------
 {"name":"松","price":1450000,"memo":"基本サービスのみ"}
 {"name":"竹","price":1700000,"memo":"5年サービス追加"}
 {"name":"梅","price":2000000,"memo":"プライムサービス追加"}
(3 rows)

この記事を書いた人 : 國田健史

一覧へ戻る

開発についてのお問い合わせはこちら

お問い合わせ

JOIN OUR TEAM

積極採用しています。私たちと一緒に働きませんか?