我想要实现的目标是,如果某列的所有值都为 null 或 null,则隐藏该列。
CREATE TABLE m_value_tbl (net_value, net_con,total_net) AS
SELECT cast(NULL as number), cast(0 as number), cast(NULL as number) FROM DUAL
UNION ALL
SELECT cast(NULL as number), cast(2 as number), cast(NULL as number) FROM DUAL ;
预期结果是:
net_value net_con total_net
null 2 null
我尝试过以下内容:
SELECT
net_value
,net_con
,TOTAL_NET
from m_value_tbl
where
(net_value IS NOT NULL
OR net_con IS NOT NULL
OR total_net IS NOT NULL)
您无法使用 SQL 来做到这一点。
如果您想隐藏列,那么应该使用您调用数据库的编程语言(即 Java、PHP、C#、Python 等)作为 SQL(任何方言,而不仅仅是 Oracle)和客户端来完成此操作将 SQL 查询传递到数据库的应用程序(SQL*Plus、SQL Developer、TOAD 等)不支持根据结果有条件地显示列。