加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

postgresql – Postgres多列到json

发布时间:2020-12-13 16:19:53 所属栏目:百科 来源:网络整理
导读:我正在运行 postgresql 9.3.4.我有一个包含3个字段的表: id name addr--- ---- ----1 n1 ad12 n2 ad2... 我需要将数据移动到一个新表,其中包含以下字段: id data--- ----1 {'name': 'n1','addr': 'ad1'}2 {'name': 'n2','addr': 'ad2'}... row_to_json不是
我正在运行 postgresql 9.3.4.我有一个包含3个字段的表:
id   name  addr
---  ----  ----
1    n1    ad1
2    n2    ad2
...

我需要将数据移动到一个新表,其中包含以下字段:

id   data
---  ----
1    {'name': 'n1','addr': 'ad1'}
2    {'name': 'n2','addr': 'ad2'}
...

row_to_json不是我的解决方案,因为SELECT t.id,row_to_json(t)作为数据FROM(选择id,name,来自myt的addr)t也将id添加到结果中.有没有办法在我的数据字段中选择我需要的字段(name& addr)?

Postgres 9.4中有一个更好的选择 json_build_object()
SELECT id,json_build_object('name','addr',addr) AS data
FROM   myt;

但是在第9.3页中使用row_to_json()还有一种更简单,更快捷的方法:

SELECT id,row_to_json((SELECT d FROM (SELECT name,addr) d)) AS data
FROM   myt;

SQL Fiddle.
Cast to :: text仅适用于小提琴中的清理显示.

相关答案:

> Select columns inside json_agg
> Return as array of JSON objects in SQL (Postgres)
> Return total number of rows and selected (aggregated) data

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读