在与此类似的查询中:
SELECT
COLUMN1,
CASE WHEN 1=2 THEN
COLUMN2
END AS "COLUMN2"
FROM
TABLE1
...它似乎总是返回数据集中的 COLUMN2,其中包含 NULL 值。我想避免这种情况。基本上,在某些情况下,我选择的列之一不适用,因此我根本不想选择它。我知道如何在代码中“隐藏”它,但如果可能的话,我希望在数据库过程中实现这一点,而又不会使查询过于复杂。
最佳答案
这是不可能的。查询必须有一组固定的返回列(从一组已知的表中提取)。该部分不是动态的,需要在“编译时”知道。
您需要删除应用程序中的列(或者有多个查询,可能在客户端代码中动态生成)。
关于sql - 有条件地选择一列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7332968/