获取null列sql之前的最后一列

时间:2017-12-23 15:29:10

标签: sql sql-server

如何检索数据库中表格行中的最后一个非空值? 假设值是非空的,然后是所有空值。

例如,假设表格中有5列(A B C D E)。以下是一个示例行数据:

A B C    D    E
1 2 NULL NULL NULL
1 2 3    NULL NULL

我需要获得第1行 - 值2,第二行 - 值3.行在游标中处理。

谢谢

2 个答案:

答案 0 :(得分:2)

只需使用coalesce()

select coalesce(e, d, c, b, a) as last_not_null
from t;

答案 1 :(得分:1)

对于列表中的非空表达式,Sql有一个内置函数COALESCECOALESCE()函数返回列表中的第一个非空表达式。