我可以
row_to_Json(客户)
回国
{ “ID_customer”:2 “如first_name”: “BLA”,“姓氏”: “second_bla”}
但如果我只想要没有ID_customer的名字,我必须使用
row_to_Json(row(first_name,last_name))
然后我明白了
{ “F1”: “BLA”,“F2”: “second_bla”}
我希望使用默认列名或我自己的名称来获得此结果.我知道我可以创建自己的复合类型并使用
row_to_Json(row(first_name,last_name)):: my_custom_type
但是如果不创建该类型,是不是可以在查询中正确执行?
公用表表达式允许您明确指定别名,不仅适用于CTE,还适用于其列.WITH data(col1,col2,cola,colb) AS ( VALUES (1,2,'fred','bob'))SELECT row_to_Json(data) FROM data;
这与@dezso的例子不同,因为它不对SELECT列表中的每个col使用col AS别名;它将CTE表别名中的列名称别名.
我使用VALUES表达式作为子查询,但你可以随意使用SELECT;关键是,无论在子查询中提供或假设的列别名,都可以通过指定列名列表在CTE定义中覆盖.
您可以在子查询中执行相同的 *** 作,而不是使用AS别名:
SELECT row_to_Json(data) FROM (VALUES (1,'bob')) data(col1,colb);
这不能直接与ROW表达式一起使用;你只能将ROW转换为具体类型,你不能为它做别名.
regress=> SELECT ROW(1,'bob') AS x(a,b,c,d);ERROR: Syntax error at or near "("liNE 1: SELECT ROW(1,d);总结
以上是内存溢出为你收集整理的postgresql – 使用row_to_json创建JSON时将名称设置为属性全部内容,希望文章能够帮你解决postgresql – 使用row_to_json创建JSON时将名称设置为属性所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)