如何计算选择查询的结果列数。
我想要的是
有一个包含 100 列的表,但我只选择 40-45 列。我想知道选择的列数。
使用模式信息我可以获得所有列的计数,但我想要该选择查询的列计数。
可能吗。非常感谢。
正如 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;