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

获取空列sql之前的最后一列,sql,sql-server,Sql,Sql Server,如何在DB中检索表行中的最后一个非空值? 假设值为非Null,然后为所有Null 例如,假设一个表中有5列(abcde)。以下是一个示例行数据: A B C D E 1 2 NULL NULL NULL 1 2 3 NULL NULL 我需要得到第一行-值2,第二行-值3。行在游标中处理 谢谢只需使用coalesce(): 对于列表中的非空表达式,Sql确实有一个内置函数COALESCE。 COALESCE()函数返回列表中的第一个非空表达式。行在游标中处理。你这是什么意思?

如何在DB中检索表行中的最后一个非空值? 假设值为非Null,然后为所有Null

例如,假设一个表中有5列(abcde)。以下是一个示例行数据:

A B C    D    E
1 2 NULL NULL NULL
1 2 3    NULL NULL
我需要得到第一行-值2,第二行-值3。行在游标中处理

谢谢

只需使用
coalesce()


对于列表中的非空表达式,Sql确实有一个内置函数
COALESCE

COALESCE()
函数返回列表中的第一个非空表达式。

行在游标中处理。你这是什么意思?这些数据是如何生成的?数据从Excel文件导入到表中。为了正确地处理数据(将数据插入到不同的表中),我需要为表的每一行调用一个存储过程——为此,我使用游标。
select coalesce(e, d, c, b, a) as last_not_null
from t;