我正在使用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",例如)?
从其他数据库类型的测试来看,这似乎是特定于数据库+驱动程序的。使用mysql get_column_name
返回实际/物理列名,而get_column_label
返回别名。顺便说一句,两种数据库类型(mysql和sqlite)都通过get_table_name
返回物理表名。