在Oracle中仅选择不带Null值的列

时间:2014-02-03 09:11:24

标签: oracle

我的桌子上有20列......

如何只选择没有空值的列

col1 col2 col3
20    12   null

期望的输出

col1 col2 
20    12  

2 个答案:

答案 0 :(得分:2)

SQL的语义不允许这样 - 每个SQL查询都包含一个投影,您可以通过该投影指定输出中所需的列。

除非您运行两次查询,否则您无法提前知道结果是什么。实际上,即使您运行两次查询,结果也可能会发生变化(除非您以可序列化模式运行它)。

换句话说,这个问题没有多大意义。

另一方面,如果您的要求是在向用户显示时简单地隐藏列,那就是一个完全不同的问题 - 答案不在于SQL,而在于您的表示逻辑。

答案 1 :(得分:1)

您可以转到表的元数据并检查定义为NOT NULL的列,并创建仅包含这些列的选择查询。