在P
os
tgre
SQL
中,我们可以使用c
as
t和row_to_json
函数
将varchar类型的数据转换成json格式。下面是示例代码:
--创建测试表
CREATE T
AB
LE test (id int, info varchar);
--插入数据
INSERT INTO test VALUES (1, '{"name":"Tom", "age":25}');
INSERT INTO test VALUES (2, '{"name":"Jerry", "age":28}');
--将数据转换成json格式
SELECT id, c
as
t(info
as
json)
as
info_json FROM test;
--将数据转换成jsonb格式
SELECT id, info::JSONB
as
info_jsonb FROM test;
--将数据转换成json格式,result列包含所有行的json数据的数组
SELECT json_agg(row_to_json(test.*))
as
result FROM test;
--将数据转换成jsonb格式,result列包含所有行的jsonb数据的数组
SELECT jsonb_agg(to_jsonb(test.*))
as
result FROM test;