次のようなjson列フィールドがあるとしましょう:
{phone: 5555555555, address: "55 awesome street", hair_color: "green"}
私がやりたいことは、json キー phone が存在するすべてのエントリを更新することであり、結果は number 型で文字列になります。
私が持っているものは次のとおりです。
SELECT *
FROM parent_object
WHERE (fields->'phone') IS NOT NULL;
残念ながら、これはまだ値を返しますphone:null。nullJSONは SQL と同等ではないと推測していますNULL。
どうすればよいですか 1) JSON の null
AND (fields->'phone') <> nullが生成されることを除外するにはどうすればよいですか
LINE 4: ...phone') IS NOT NULL AND (fields->'phone') <> 'null';
HINT: No operator matches the given name and argument type(s). You might need to add explicit type casts.
2)そのキー、この擬似コードの値のタイプを確認します(type_of (fields->'phone') == Integer)が、PGSQL が動作しています。
3)これを変更して列を更新します
UPDATE parent_object
SET fields.phone = to_char(fields.phone)
WHERE query defined above