我的桌子上有20列......
如何只选择没有空值的列
col1 col2 col3
20 12 null
期望的输出
col1 col2
20 12
答案 0 :(得分:2)
SQL的语义不允许这样 - 每个SQL查询都包含一个投影,您可以通过该投影指定输出中所需的列。
除非您运行两次查询,否则您无法提前知道结果是什么。实际上,即使您运行两次查询,结果也可能会发生变化(除非您以可序列化模式运行它)。
换句话说,这个问题没有多大意义。
另一方面,如果您的要求是在向用户显示时简单地隐藏列,那就是一个完全不同的问题 - 答案不在于SQL,而在于您的表示逻辑。
答案 1 :(得分:1)
您可以转到表的元数据并检查定义为NOT NULL的列,并创建仅包含这些列的选择查询。