Postgres:将列转换为JsonB

时间:2018-02-22 18:26:19

标签: sql postgresql

我有一个表,其中一列以这种格式存储数据。

    {"id"=>619681447963, 
     "variant_id"=>5708282527771, 
     "title"=>"Bike", 
     "quantity"=>1}

该列的类型为character varying,我需要将其转换为jsonb列。

我知道当前数据不是json格式,我需要将=>转换为:我无法找到一种有效的方法。有人可以给我一些建议。提前谢谢。

1 个答案:

答案 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