是否有解決方案如何計算視圖中每個屬性的NULL和NOT NULL記錄數?在oracle中計算每個屬性的空行數和非空行數
例如有50次,每一個有20個屬性和我期待的結果看起來像(例如):
table_name -----Column_name---Nulls_count----Not_null_count------count(*)
T1 -----------------C1-------------------20---------------40-----------------------60
T1------------------C2-------------------11--------------49---------------------60
T1------------------C3-------------------25--------------35---------------------60
T2------------------C1-------------------0--------------100---------------------100
T2------------------C2-------------------40--------------60---------------------100
所有視圖都存儲在一個sys.all_views和列是在sys.all_tab_columns中,並且它們之間通過table_name字段進行鏈接。但是需要使用動態SQL或PL/SQL,因爲每個屬性都有一個瘋狂的計數()空行,然後手動計算()非視圖中相同屬性的空行:) 有沒有人面臨這樣的任務?我會感謝您的意見和幫助。
原來是你尋找Oracle特定的方式來計算列中的空值/非空值,而不實際讀取數據? – EvilTeach
嗯,不完全是。我試圖避免手動列出所有屬性的count(*)或count(屬性)函數。我只是想,是否可以創建一個變量爲view_name和column_name的過程,並使用循環爲選定表中的每個屬性計算所有Nulls和Nulls行。如果有可能的話,請分享一些例子。預先感謝您.. –
我認爲您可以從USER_TAB_COLS獲取您想要的信息。去你並做好工作。 –