如何将行中的 NULL 值替换为先前已知值中的值
问题:
您需要将一行中的 NULL 值替换为上一行中最后一个已知值的值 日期。例如,如果日期列包含值“1”、“2”、“3”、“4”和“5”,并且数字列包含值“3”、“NULL”、“5”、“NULL” 、”和“NULL”,NULL 值应分别替换为“3”、“5”和“5”。
解决方案(SQL服务器):
DECLARE @Table TABLE( ID INT, Val INT ) INSERT INTO @Table (ID,Val) SELECT 1, 3 INSERT INTO @Table (ID,Val) SELECT 2, NULL INSERT INTO @Table (ID,Val) SELECT 3, 5 INSERT INTO @Table (ID,Val) SELECT 4, NULL INSERT INTO @Table (ID,Val) SELECT 5, NULL INSERT INTO @Table (ID,Val) SELECT 6, 2 SELECT *, ISNULL(Val, (SELECT TOP 1 Val FROM @Table WHERE ID < t.ID AND Val IS NOT NULL ORDER BY ID DESC)) FROM @Table t
解释:
以上是如何在 SQL Server 中用先前的非 NULL 值填充一行中的 NULL 值?的详细内容。更多信息请关注PHP中文网其他相关文章!