检索 SQL 中的缺失值:用先前已知的值替换 NULL
数据表通常包含由 NULL 表示的缺失值。为了优化分析并保持数据完整性,用有意义的值替换 NULL 变得至关重要。一种常见的策略是将每个 NULL 替换为前一行中最后一个已知的非 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, 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 中用以前的非 NULL 值替换 NULL?的详细内容。更多信息请关注PHP中文网其他相关文章!