当我有一个类似的查询结果时:
select col as newName from table;
然后我做(在java中):
rs.getMetaData().getColumnName(i)
它返回列的名称而不是“newName”...
如果我这样做
select concat(col,'') as newName from table;
它返回预期的“newName”
有没有办法获得“newName”而不会搞乱sql查询?
这就是mysql,java,tomcat 6。
答案 0 :(得分:5)
请尝试使用getColumnLabel()
:
rs.getMetaData().getColumnLabel(i);
仅供参考,我做了一个测试,rs.getMetaData().getColumnName(i)
为我工作 - 即它给了我别名,而不是列名,但是你可能正在使用旧版本的JDBC驱动程序和/或mysql数据库。