3
我想從下面的查詢得到的列名,PostgreSQL- getColumnName不工作,返回別名
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
將'SELECT category as c1'更改爲'SELECT category' – Nicarus
這是正確的列名稱。它在你的SQL中被定義爲。就Java而言,這是列名。在這種情況下,您需要更改查詢以返回類別而不是c1。 – ManoDestra
@Nicarus,我有目的地給了別名以減少json的大小,我的記錄將在百萬 –