擷取 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中文網其他相關文章!