我有一个表,其中一列以这种格式存储数据。
{"id"=>619681447963,
"variant_id"=>5708282527771,
"title"=>"Bike",
"quantity"=>1}
该列的类型为character varying
,我需要将其转换为jsonb列。
我知道当前数据不是json格式,我需要将=>
转换为:
我无法找到一种有效的方法。有人可以给我一些建议。提前谢谢。
答案 0 :(得分:1)
WITH test(col) AS (
SELECT '{"id"=>619681447963,
"variant_id"=>5708282527771,
"title"=>"Bike",
"quantity"=>1}'::text
)
SELECT replace(col, '=>', ':')::jsonb
FROM test
您可以replace
=>
到:
,然后将其投放到jsonb