我有一个类型为JSON的列,但它包含如下JSON字符串:
"{\"a\":1,\"b\":2,\"c\":3}"
我想用适当的JSON对象更新列中的值,不带引号和转义,如下所示:
{"a":1,"b":2,"c":3}
我try 了下面的语句,即使它说它确实更新了行,列仍然是相同的.
UPDATE table SET column = to_json(column);
to_json
函数似乎不起作用,因为它是一个JSON字符串?
我如何更新这些值?
我有一个类型为JSON的列,但它包含如下JSON字符串:
"{\"a\":1,\"b\":2,\"c\":3}"
我想用适当的JSON对象更新列中的值,不带引号和转义,如下所示:
{"a":1,"b":2,"c":3}
我try 了下面的语句,即使它说它确实更新了行,列仍然是相同的.
UPDATE table SET column = to_json(column);
to_json
函数似乎不起作用,因为它是一个JSON字符串?
我如何更新这些值?
您可以将JSON列转换为文本,删除不需要的引号和转义,然后将结果文本转换为JSON.
update tbl
set js = trim(replace(js::text, '\',''), '"')::json
demo个