【发布时间】:2020-10-23 14:43:10
【问题描述】:
我是 PostgreSQL 数据库的新用户,该数据库的 json 字段给我带来了一些麻烦。 事实上,当字符串值应该是数值时,已经用双引号将字符串值插入到这个json文件中。
我有一个名为“test_json”的字段,例如由以下两行组成:
{"test_name": "Full", "parameter1": "4.219", "parameter2": 4.4137}
{"test_name": "Full", "parameter1": "3.758", "parameter2": 4.159}
我希望上面的 2 行以这种形式更正后:
{"test_name": "Full", "parameter1": 4.219, "parameter2": 4.4137}
{"test_name": "Full", "parameter1": 3.758, "parameter2": 4.159}
我想更正这些值而不必删除所有内容,我无法手动更正它,因为有数以万计的“parameter1”值。 你能帮我更正一下吗?
我只想删除此参数 1 的双引号,以防它不是数字。
我发现所有具有这个非数字参数1的行都带有:
select *
from t_test_result
where jsonb_typeof (t_test_result.test_json -> ' parameter1') <> 'number'
and t_test_result.test_json ? 'parameter1'
而且我想我之后必须使用更新功能,但我无法管理它......
谢谢!
弗兰克
【问题讨论】:
标签: sql json string postgresql