JDBC - 如何获取列名(不是原始列名)

时间:2016-06-21 13:43:41

标签: java jdbc

我有一个像这样的查询,它将列名动物重命名为bird。

select animal as bird 
from table;

我想通过Jdbc检索列名称bird而不是列名称animal。当我做的时候

Connection cn = DriverManager.getConnection(host,username,password);
Statement st = cn.createStatement();
ResultSet resultset = statement.executeQuery(query);
resultset.getmetadata().getcolumnName(int) 

我获取原始列名而不是重命名的列名。 如何获取重命名的列名?

3 个答案:

答案 0 :(得分:5)

有两个功能:

 ResultSetMetaData.getColumnName()

name函数将为您提供CREATE TABLE语句的实际列名。

 ResultSetMetaData.getColumnLabel()

标签功能将为您提供重命名的列名称。

因此,在您的情况下,您必须使用getColumnLabel()函数:)

答案 1 :(得分:1)

使用ResultSetMetaData.getColumnLabel(int)

  

获取指定列的建议标题,以便在打印输出中使用   显示器。建议的标题通常由SQL AS指定   条款。如果未指定SQL AS,则返回值   getColumnLabel将与返回的值相同   getColumnName方法。

答案 2 :(得分:1)

你试过了吗?

resultset.getMetadata().getColumnLabel(int) 

https://docs.oracle.com/javase/7/docs/api/java/sql/ResultSetMetaData.html#getColumnLabel(int)