计数列计数作为选择查询的结果

时间:2012-06-25 06:39:04

标签: sql db2

如何根据Select Query计算列数。

我想要的是

有一个包含100列的表,但我只选择40-45列。我想知道所选列的数量。

使用架构更改我可以获取所有列的计数,但我想要该选择查询的列数。

有可能吗? 非常感谢。

1 个答案:

答案 0 :(得分:0)

正如David Brabant所说,这在很大程度上取决于你正在使用的RDBMS。

以下是使用DBMS_SQL的Oracle解决方案:

declare
  c       number;
  d       number;
  col_cnt integer;
  rec_tab dbms_sql.desc_tab;
begin
  c := dbms_sql.open_cursor;

  dbms_sql.parse(c,
                 'select 1 as pk, 2 as value from dual',
                 dbms_sql.native);

  d := dbms_sql.execute(c);

  dbms_sql.describe_columns(c,
                            col_cnt,
                            rec_tab);
  dbms_output.put_line(col_cnt);
end;