如何检索数据库中表格行中的最后一个非空值? 假设值是非空的,然后是所有空值。
例如,假设表格中有5列(A B C D E)。以下是一个示例行数据:
A B C D E
1 2 NULL NULL NULL
1 2 3 NULL NULL
我需要获得第1行 - 值2,第二行 - 值3.行在游标中处理。
谢谢
答案 0 :(得分:2)
只需使用coalesce()
:
select coalesce(e, d, c, b, a) as last_not_null
from t;
答案 1 :(得分:1)
对于列表中的非空表达式,Sql有一个内置函数COALESCE
。
COALESCE()
函数返回列表中的第一个非空表达式。