我在PostgreSQL中有一个表,其中包含id,name,city,mob等字段 我在PostgreSQL中得到了json数据类型,我们可以在其中 以json格式存储数据但我不想使用json数据类型。
我想获取这些表字段(id,name,city,mob),它们是普通字段,而不是我想要的json格式字段
我想要假设mytable是一个有id,name,city,mob,dob作为字段和
的表
现在我想执行如下查询:
select name,city from mytable where id=5;
此查询应返回{"name":"xyz","city":"abc"}
那我怎么能这样做呢?那该查询应该是什么?
答案 0 :(得分:0)
使用row_to_json()
:
select row_to_json(t)
from (
select name,city from mytable
where id=5
) t
创建具有列的专有名称的记录类型时,必须使用派生表。 row_to_json((name,city))
无法做到这一点。
修改强>:
如果您想要表格中的所有列(不仅仅是问题中显示的两列),那么您就不需要派生表:
select row_to_json(mytable)
from mytable
where id = 5;