如果所有值都为空或零则隐藏列

问题描述 投票:0回答:1

我想要实现的目标是,如果某列的所有值都为 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 oracle-sqldeveloper
1个回答
0
投票

您无法使用 SQL 来做到这一点。

如果您想隐藏列,那么应该使用您调用数据库的编程语言(即 Java、PHP、C#、Python 等)作为 SQL(任何方言,而不仅仅是 Oracle)和客户端来完成此操作将 SQL 查询传递到数据库的应用程序(SQL*Plus、SQL Developer、TOAD 等)不支持根据结果有条件地显示列。

© www.soinside.com 2019 - 2024. All rights reserved.