2016-01-21 12 views

回答

0

合併應該幫助,像這樣:

SELECT CASE WHEN COALESCE(field1, field2, field3...) is NULL THEN 'AllNULL' 
ELSE 'OneOrMoreNotNULL' END as 'NULLcontent' FROM tbl 
+0

我需要了解數據是否有一列爲空或所有列爲空 –

+0

@Aditya kommu符合您的規範,如第25條中的「至少一列不爲空」中所述。如果發生了變化,請通過編輯鏈接編輯原始帖子。 –

0

嘗試是這樣的:

SELECT CASE LENGTH(SUBSTR(COL_1, 1, 1) || 
        SUBSTR(COL_2, 1, 1) || 
        ...     || 
        SUBSTR(COL_25, 1, 1)      
        ) 
     WHEN 25 THEN 'ALL NOT NULL' 
     WHEN 24 THEN '1 COLUMN NULL' 
     ... 
    END CASE 
FROM YOUR_TABLE 

如果從varchar不同的列,您需要將它們轉換成varchar使用此方法

0

您可以使用GREATEST(或LEAST)來測試列表中的任何項目是否爲空(對於一致dat的表達式一種)。

select greatest(owner, object_name, to_char(object_id), to_char(data_object_id)) x, 
     owner, object_name, object_id, data_object_id 
from all_objects where object_name in ('DUAL'); 

如果任何提供給最偉大的表情列表中的數值爲null,則返回值將是空的。如果所有表達式都不爲空,它將只返回一個非空值。