PostgresSQL:在 SELECT 语句中获取 UDT 的单个属性

nav*_*ige 5 postgresql select composite-types user-defined-type

我在 PostgreSQL 9.2 数据库中创建了一个用户定义类型,并尝试在SELECT语句中仅获取 UDT 的一个属性。但是,我似乎无法让我的代码工作。

创建类型和表:

CREATE TYPE  ttp AS (f1 int, f2 int);
CREATE TABLE tbl (ctyp ttp);
Run Code Online (Sandbox Code Playgroud)

SELECT声明:

-- does not work
SELECT ctyp.f1 FROM tbl
SELECT ctyp(f1) FROM testtable
Run Code Online (Sandbox Code Playgroud)

两次我都收到错误。是否可以访问 a 中 UDT 中定义的单个属性SELECT

Erw*_*ter 4

使用:

从表中选择 ctyp  .f1;

括号对于消除表与复合类型的歧义是必要的,如复合类型手册中详细说明的。