gpt4 book ai didi

java - PostgreSQL- getColumnName 不工作,返回别名

转载 作者:塔克拉玛干 更新时间:2023-11-01 23:06:47 25 4
gpt4 key购买 nike

我正在尝试从下面的查询中获取列名,

SELECT
category as c1,
forecast_2016,
category,
rowcount,
item_number,
rowcount,
category,
avg_demand_2014_2015,
category,
avg_spend_2014_2015,
avg_demand_2014_2015,
avg_spend_2014_2015,
demand_2015
FROM
ag_instrument_portfolio_master LIMIT 1

Postgres版本为9.3,Java版本为1.7,java实现如下。

stmt = con.createStatement();
rs = stmt.executeQuery(query.toString());
ResultSetMetaData columnsMetadata = rs.getMetaData();
int i = 0;
while (i < columnsMetadata.getColumnCount()) {
i++;
System.out.println("Name: " + columnsMetadata.getColumnName(i));
System.out.println("Label: " + columnsMetadata.getColumnLabel(i));
}

输出是

Name: c1
Label: c1

但是,预期是

Name: category
Label: c1

最佳答案

鉴于 pgsql-jdbc 邮件列表中的评论 here ,看来您看到的是 PostgreSQL JDBC 驱动程序的“设计”行为:

This is a limitation of the information the driver gets back from the server, it only returns the 'label' which the driver then uses for both columnname and label.

与 JDBC 的许多其他方面一样,给定功能的行为通常会因特定 JDBC 驱动程序的实现而异。

关于java - PostgreSQL- getColumnName 不工作,返回别名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38404534/

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