如何选择具有PostgreSQL和JDBC

问题描述 投票:0回答:2

您如何从PostgreSQL和JDBC中选择复合类型?我发现的唯一答案建议您必须解析字符串值。我很糟糕。

create type person as (age int, name text); create table test (id int, p person); insert into test values (1, ROW(45, 'Joe'));
在Java ...

var ps = pgConn.prepareStatement("select * from test") var rs = ps.executeQuery() rs.next() // PGobject here is not part of JDBC, but specific to the PG driver. var p = (PGobject)rs.getObject(2) // p.value is "(45,Joe)"
显然,特定的值并不难,但是嵌套的单引号,逗号,时间戳等。我期望有一些理智的东西,例如一种获取单个字段的方法:

p.getInt(1) p.getString(2)

如果您有一个数组,例如:
person[]

	

instead,do
postgresql jdbc
2个回答
1
投票
。然后,您将每个成员作为JDBC可以正常处理的单独列。

另一个答案几乎是对的。
您可以通过在括号中在括号中首先在where子句中写下一个字段来访问复合类型的值。例如:


0
投票

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.