微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

postgresql – 如何在Postgres中将类型拆分为多个列?

我有以下代码从pl / python返回多个值:
CREATE TYPE named_value AS (
  name   text,value  integer
);
CREATE or replace FUNCTION make_pair (name text,value integer)
  RETURNS named_value
AS $$
  return [ name,value ]
$$LANGUAGE plpythonu;

select make_pair('egg',4) as column;

输出是:

column
(egg,4)

我想要做的是将输出分成两个单独的列.像这样:

column,column2
egg,4

我该怎么做呢?用Google搜索了1个小时让我无处可去.所以我希望最后会添加一些搜索关键字:
多个返回值多个结果多列不需要列表不需要设置

是的,这个语法有点古怪,需要额外的括号:
select (make_pair('egg',4)).name

要从输出获取多个组件而只调用一次该函数,可以使用子选择:

select (x.column).name,(x.column).value from (select make_pair('egg',4) as column) x;

原文地址:https://www.jb51.cc/postgresql/191638.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐