LoginSignup
5
5

More than 5 years have passed since last update.

PostgreSQLのJSON型を使ってみた

Last updated at Posted at 2016-06-08

PostgreSQLのJSON型を使ってみた

ちょいとPostgreSQLのJSON型を使ってみたら結構便利だったので紹介します。

できること

もちろん、登録可能なデータはJSONだけなのですが、
- JSONから値をとりだす
- JSON内の値を利用してwhereやorder、groupなどがかけられる

といったことが可能です。

使い方

id json_data
1 "{"point":240,"name":"test","join":{"name":"jointest"}}"
2 "{"point":250,"name":"test2","join":{"name":"jointest2"}}"
3 "{"point":260,"name":"test3","join":{"name":"jointest3"}}"
4 "{"point":270,"name":"test4","join":{"name":"jointest4"}}"
5 "{"point":280,"name":"test5","join":{"name":"jointest5"}}"
6 "{"point":290,"name":"test6","join":{"name":"jointest6"}}"

こういったデータがあったとして

①pointデータの取得

SELECT
    json_data->>'point'
FROM
    json_test

②join->nameがjointest2のもの

SELECT
    *
FROM
    json_test
WHERE
    (json_data->>'join')::json->>'name' = 'jointest2'

まとめ

普通のカラムと同じように扱えるので、かなり便利です!

ログ情報をまとめて配列で突っ込んでおきたいけど、そのログ情報に検索などしたい場合などに活用できると思います!

※まぁあまり乱用するようなものではないとは思いますが・・・

5
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
5