So ersetzen Sie NULL-Werte in einer Zeile durch einen Wert aus dem vorherigen bekannten Wert
Problem:
Sie müssen NULL-Werte in einer Zeile durch den Wert des letzten bekannten Werts vom vorherigen Datum ersetzen. Wenn beispielsweise die Datumsspalte die Werte „1“, „2“, „3“, „4“ und „5“ enthält und die Zahlenspalte die Werte „3“, „NULL“, „5“, „NULL“ enthält ,“ und „NULL“ sollten die NULL-Werte jeweils durch „3“, „5“ und „5“ ersetzt werden.
Lösung (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
Erklärung:
Das obige ist der detaillierte Inhalt vonWie fülle ich NULL-Werte in einer Zeile mit dem vorherigen Nicht-NULL-Wert in SQL Server?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!