Heim >Datenbank >MySQL-Tutorial >Wie ersetze ich NULL-Werte in SQL durch den letzten bekannten Nicht-NULL-Wert?
Nullwerte in SQL verwalten: Nullwerte durch zuvor bekannte Werte ersetzen
Eine häufige Herausforderung bei der Arbeit mit SQL-Datenbanken besteht darin, auf Nullwerte zu stoßen. Dies kann fehlende oder unbekannte Daten darstellen. Um die Datenintegrität und Analysegenauigkeit sicherzustellen, ist es wichtig, Nullwerte angemessen zu behandeln.
Problemstellung:
Stellen Sie sich eine Tabelle mit zwei Spalten vor: Datum und Nummer, wobei einige Zeilen haben Nullwerte in der Zahlenspalte. Das Ziel besteht darin, diese Nullwerte durch Werte zu ersetzen, die aus dem letzten bekannten Nicht-Null-Wert in der vorherigen Datumszeile stammen.
Lösung:
Für SQL Server-Benutzer: Die folgende Abfrage kann sein verwendet:
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 ersetze ich NULL-Werte in SQL durch den letzten bekannten Nicht-NULL-Wert?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!