jbdc忽略sql语句中的别名

时间:2011-12-09 12:07:36

标签: java sql jdbc sybase

在我的java应用程序中,我运行sql查询,例如:

select rowid as col1, id as col2 from dummy_table

然后,当我使用ResultSetMetaData.getColumnNames时,我希望得到列别名(col1和col2),但是方法返回物理列名。

所以,我的问题是,如何使用ResultSetMetaData获取列别名

我使用Java 1.6,Jdbc,Sybase

非常感谢

3 个答案:

答案 0 :(得分:4)

也许你的驱动程序不理解别名列。尝试调用ResultSetMetaData.getColumnLabel()以查看其获得的内容

答案 1 :(得分:3)

我注意到MySQL中有类似的东西 - 快速解决方法是将主查询转换为子查询,如下所示:

select v.* from (
select rowid as col1, id as col2 from dummy_table
) as v

答案 2 :(得分:1)

您可以使用临时表

   select rowid as col1, id as col2 INTO #tmp from dummy_table


    select * from #tmp

我认为这会奏效。

第二种解决方案 还要检查ResultSetMetaData的String getColumnLabel(int column)函数