Comment remplacer les valeurs NULL dans une ligne par une valeur de la valeur connue précédente
Problème :
Vous devez remplacer les valeurs NULL dans une ligne par la valeur de la dernière valeur connue à la date précédente. Par exemple, si la colonne de date contient les valeurs « 1 », « 2 », « 3 », « 4 » et « 5 » et que la colonne numérique contient les valeurs « 3 », « NULL », « 5 », « NULL ». ," et "NULL", les valeurs NULL doivent être remplacées respectivement par "3", "5" et "5".
Solution (SQL Serveur) :
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
Explication :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!