SQL QUERY将一行中的NULL值替换为先前已知值的值
发布时间:2020-12-12 16:36:19 所属栏目:MsSql教程 来源:网络整理
导读:我有2列 date number ---- ------1 3 2 NULL 3 5 4 NULL 5 NULL 6 2 ....... 我需要用新值替换NULL值,取值为date列中前一个日期中最后一个已知值的值 例如:date = 2 number = 3,date 4和5 number = 5和5. NULL值随机出现. 解决方法 如果您正在使用Sql Server
我有2列
date number ---- ------ 1 3 2 NULL 3 5 4 NULL 5 NULL 6 2 ....... 我需要用新值替换NULL值,取值为date列中前一个日期中最后一个已知值的值 解决方法如果您正在使用Sql Server,这应该是正常的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,Val) SELECT 5,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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |