我有一个像这样的查询,它将列名动物重命名为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)
我获取原始列名而不是重命名的列名。 如何获取重命名的列名?
答案 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)