は今、私は「今、私は、関数の型がJSON方法jsonb型cloumnの値を変更するには?
CREATE OR REPLACE FUNCTION "json_object_set_key"(
"json" json,
"key_to_set" TEXT,
"value_to_set" anyelement
)
RETURNS json
LANGUAGE sql
IMMUTABLE
STRICT
AS $function$
SELECT COALESCE(
(SELECT ('{' || string_agg(to_json("key") || ':' || "value", ',') || '}')
FROM (SELECT *
FROM json_each("json")
WHERE "key" <> "key_to_set"
UNION ALL
SELECT "key_to_set", to_json("value_to_set")) AS "fields"),
'{}'
)::json
$function$;
を達成していますが、私はjsonbするJSON形式を変更することはできません、今、私は機能が欲しい、jsonbタイプcloumnの値を変更するには、PostgreSQLの機能を使用したいです達成することができますjsonb_object_set_keyは」、どうもありがとうございました、私を助けてください。
'jsonb_set()'? https://www.postgresql.org/docs/current/static/functions-json.html –
JSONを構築するために生の文字列連結を使用しないでください。理由はありません。そして、エスケープや引用のルールについて心配する必要があります。この関数は、pl/v8でも書かれていればもっと簡単でしょう。あなたは、PostgreSQLの – jpmc26
どのバージョンを使用していますか? – jpmc26