gpt4 book ai didi

sql - 如何下标 Postgres 列

转载 作者:行者123 更新时间:2023-11-29 12:23:17 25 4
gpt4 key购买 nike

我有一个 Postgres 查询:

SELECT main
FROM (
SELECT
CASE WHEN 1=1 THEN (col_a, col_b)
END as main
FROM "table1"
LIMIT 100) inner_t

它在每一行中以 (value_a, value_b) 格式返回一列值。我希望外部查询格式化这些值,以便所有 value_avalue_b 都在它们自己单独的列中。

有没有简单的方法来做到这一点?

输出截图:

enter image description here

http://example.com/path-to-ghosts.jpg

最佳答案

您可以滥用 row_to_json 来执行此操作,但最好首先避免使用匿名记录类型。

SELECT row_to_json(main)->>'f1', row_to_json(main)->>'f2'
FROM (
SELECT
CASE WHEN 1=1 THEN (col_a, col_b)
END as main
FROM "table1"
LIMIT 100) inner_t

举个具体的例子(运行pgbench -i之后):

SELECT row_to_json(main)->>'f1', row_to_json(main)->>'f2'
FROM (
SELECT
CASE WHEN 1=1 THEN (aid, bid)
END as main
FROM pgbench_accounts
LIMIT 100) inner_t;

但它只适用于 v10 及更高版本。

关于sql - 如何下标 Postgres 列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58087472/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com