我有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,这应该是正常的
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
原文地址:https://www.jb51.cc/mssql/81956.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。