📌
jsonbのTips
PostgreSQLのjsonbの操作を忘れてしまうので、ここに書いておく
json_set
pathで指定した箇所を、新たな値に置き換える
SQL
SELECT
jsonb_set(data, '{name}', '{"first":"suzuki","last":"taro"}'::jsonb)
FROM
sample;
元データ
{"name": "taro"}
結果
{"name": {"last": "taro", "first": "suzuki"}}
||
2つのjsonb値を結合する。
SQL
SELECT
{"a": 1, "b": 2}::jsonb || {"b": "updated", "c": 3}::jsonb AS merged
sample;;
結果
{"a": 1, "b": "updated", "c": 3}
#-
指定したパスの要素を削除する。
SQL
SELECT
data #- '{age}'
sample;
元データ
{"age": 25, "city": "Tokyo", "name": "Taro"}
結果
{"city": "Tokyo", "name": "Taro"}
Discussion