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

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)
カテゴリー: 國田健史 | タグ: | 投稿日: | 投稿者:

solutionware について

クラウド型アプリケーション開発のソリューションウェア https://solutionware.jp/ 【サービス一覧】 クラウド型顧客管理システムの企画・開発 マーケティングオートメーションシステムの企画・開発 各種クラウド型業務システムの企画・開発 スマートフォン/タブレットアプリ(iOS、Android)の企画・開発 Salesforceインプリ、kintoneアプリ、フルスクラッチなど、ご用命にお応えいたします。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

18 − seven =