我想知道如何从表格中的每一行左侧获取第一列带有NULL值的列,我尝试使用SELECT CASE
,但它不会像我那样工作喜欢。
伙计们,我想清楚地了解我想要完成的事情。我有一个包含22列的表,并且有一些行,其中最后10列具有NULL值,但我只需要知道左边第一列的名称为NULL值。
答案 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值的第一列的名称。您可以按照自己喜欢的顺序订购列。