jdbc结果集元数据:获取别名列上的物理列名称

时间:2011-10-14 17:39:47

标签: jdbc metadata jruby

我正在使用jdbc来执行查询语句(在jruby中)

# made-up example
sql = "select " +
         "c.type as cartype, " +
         "o.id as ownerid, " +
         "o.type as ownertype " +
       "from cars c " +
         "inner join owners o " +
         "on c.vin = o.vin"
# 'stmt' gotten with jdbc-connection.create_statement() 
result_set = stmt.execute_query(sql)
meta_data = result_set.get_meta_data()
col_count = result_set.get_column_count()

我可以通过列索引查询每列的各个列别名(get_column_name)和表(get_table_name),但我还需要列的实际/物理名称,无锯齿。

如何获取列的物理/实际名称,因为它在架构中定义(例如,“ownerid”列别名是列“id”)?

1 个答案:

答案 0 :(得分:1)

从其他数据库类型的测试中,它看起来好像是数据库+驱动程序特定的。使用mysql get_column_name返回实际/物理列名称,而get_column_label返回别名。顺便说一句,两种数据库类型(mysql和sqlite)都通过get_table_name返回物理表名。