![](/img/trans.png)
[英]Getting column metadata from jdbc/postgresql for newly created table
[英]Getting the full column name from jdbc's metadata object
我正在處理一個結果集,其中返回的列數有所不同,因此我需要知道存在哪些列。 我發現我可以像這樣提取返回的列名:
ResultSetMetaData meta = rs.getMetaData();
ArrayList<String> columns = new ArrayList<String>();
for (int i = 0; i < meta.getColumnCount(); i++) {
columns.add(meta.getColumnLabel(i+1));
}
但是,這並沒有提供我在SQL中定義的完整列名。 IE瀏覽器。
select events.id, events.name from events;
顯示為“ id,name”而不是“ events.id,events.name”,這在聯接表並希望在返回的列名上有所不同時非常糟糕。
連接表時必須指定別名。 有兩種方法getColumnName()
-返回列名和getColumnLabel()
-返回列標簽(別名)。 如果別名不然后specifed的getColumnLabel()
返回相同的值由所述返回的值getColumnName()
。
答案是:您無法從select語句中檢索表別名。 但是,您可以檢索列的基礎表的名稱,因此您應該能夠使用ResultSetMetaData中的getTable(int)來檢索此名稱,因為您沒有使用表別名,而是使用了實際的表。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.