SQL如何查找非空列?

Dar*_*ght 5 sql null coalesce

我有一个包含大量列的表,比如我有列

A B C D

在每个列中,只会填充任何一个记录中的一列,其他列将始终为NULL.

我需要一个select语句,它将返回非null列的Column.

我尝试过coalesce,但这会返回一个值,而不是值所属的列.

有人知道最简单的方法吗?

Rob*_*Day 8

SELECT
    CASE
        WHEN A IS NOT NULL THEN 'A'
        WHEN B IS NOT NULL THEN 'B'
        WHEN C IS NOT NULL THEN 'C'
        WHEN D IS NOT NULL THEN 'D'
    END
FROM
    MyTable
Run Code Online (Sandbox Code Playgroud)