仅当列不为空时才显示列

时间:2010-08-15 22:48:44

标签: mysql sql

我需要在SQL结果中显示特定列,如果它不为null。如果它为null,我不希望该列在我的结果中出现。

有没有办法在SQL中表达这个条件?

4 个答案:

答案 0 :(得分:3)

这没有意义,因为查询可能会返回多行。一行可能具有相关列的值,而下一行可能没有值。然后条件列将在返回的行之间创建结构不一致。

答案 1 :(得分:2)

不,不是......

答案 2 :(得分:2)

这是不可能的,而且真的没必要。你需要有固定数量的列,没有别的办法。但这不是你真正的问题,你完全不需要它!

查询只是检索数据,而不是检索数据。如果所有值都是null,您应该只检索它并隐藏列。

答案 3 :(得分:1)

SQL通常不会让您推断整个列的属性。条件是行的属性。所以没有办法说“如果此列的这一组中的所有值都为空......”。但是,您可以简单地将自己限制为缺少属性的行。

如果您希望仅在每行不为空时显示列,您可以执行COUNT(*) WHERE ...您的一般条件... AND that_column IS NULL然后重做查询,包括如果第一个结果为0则为列,否则为排除。但我不确定你为什么要做这样的事情。