gpt4 book ai didi

sql - 如何从 PostgreSQL 9.4 中的匿名行类型中获取第一个字段?

转载 作者:行者123 更新时间:2023-11-29 11:15:04 24 4
gpt4 key购买 nike

=# select row(0, 1) ;
row
-------
(0,1)
(1 row)

如何在同一查询中获取 0?我想出了下面的工作方式,但有什么简单的方法吗?

=# select json_agg(row(0, 1))->0->'f1' ;
?column?
----------
0
(1 row)

类数组语法 [0] 不走运。

谢谢!

最佳答案

您的行类型是匿名的,因此您无法轻松访问其元素。您可以做的是创建一个 TYPE,然后将您的匿名行转换为该类型并访问该类型中定义的元素:

CREATE TYPE my_row AS (
x integer,
y integer
);

SELECT (row(0,1)::my_row).x;

就像 Craig Ringer 在您的问题中评论的那样,如果可以的话,您应该避免生成匿名行,并键入您在数据模型和查询中使用的任何数据。

关于sql - 如何从 PostgreSQL 9.4 中的匿名行类型中获取第一个字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30337021/

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