管理 SQL 中的空值:用以前已知的值替换空值
使用 SQL 数据库的一个常见挑战是遇到空值,它可以代表丢失或未知的数据。为了确保数据完整性和分析准确性,必须适当处理空值。
问题陈述:
考虑一个包含两列的表:日期和数字,其中一些行在数字列中具有空值。目标是用取自上一个日期行中最后一个已知非空值的值替换这些空值。
解决方案:
对于 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, 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
说明:
以上是如何用最后一个已知的非 NULL 值替换 SQL 中的 NULL 值?的详细内容。更多信息请关注PHP中文网其他相关文章!