表中具有NULL值的第一列

时间:2018-04-24 13:45:26

标签: sql

我想知道如何从表格中的每一行左侧获取第一列带有NULL值的列,我尝试使用SELECT CASE,但它不会像我那样工作喜欢。

伙计们,我想清楚地了解我想要完成的事情。我有一个包含22列的表,并且有一些行,其中最后10列具有NULL值,但我只需要知道左边第一列的名称为NULL值。

3 个答案:

答案 0 :(得分:1)

使用coalesce()从第一个非NULL列获取

select coalesce(col1, col2, col3, . . .)

您可以使用case逻辑获取名称:

select (case when col1 is not null then 'col1'
             when col2 is not null then 'col2'
             . . .
        end)

答案 1 :(得分:0)

只需指定NULL作为您的第一个字段选择。

SELECT NULL, FieldA, FieldB, FieldC etc
FROM yourtable

答案 2 :(得分:0)

这里唯一的一般方法是案例陈述:

Case
when col1 is null then 'col1'
when col2 is null then 'col2'
when col3 is null then 'col3'
end as frst_null

这样frst_null将包含包含Null值的第一列的名称。您可以按照自己喜欢的顺序订购列。