2012-06-25 33 views
0

如何計算選擇查詢的結果列數。作爲選擇查詢的結果計數列數

我想是

有100列的表格,但我只選擇40-45列。我想知道所選列的數量。

使用模式信息我可以得到所有列的計數,但我希望該選擇查詢的列數。

這是可能的。 非常感謝。

+0

你可以得到一個查詢相同的信息。 IIRC,有一個設置只在執行查詢時檢索方案。 – leppie

+0

你正在使用什麼數據庫? –

+0

您可以通過檢查查詢計劃來執行您正在查找的SQL Server數據庫。這並不容易,也沒有辦法可以直接在SQL Server內部使用查詢來完成它。 – Kane

回答

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;