Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Mettre à jour toutes les valeurs SQL NULL dans plusieurs colonnes à l'aide de la clause WHERE au niveau de la colonne ?

Il n'y a aucune convention à cela - si vous voulez traiter uniquement les enregistrements où les colonnes respectives sont NULL, vous devez utiliser :

WHERE Answer_1 IS NULL 
   OR Answer_2 IS NULL 
   OR ...

Mais vous pouvez utiliser ceci dans l'instruction UPDATE :

UPDATE YOUR_TABLE
   SET col1 = COALESCE(col1, 99),
       col2 = COALESCE(col2, 99),
       col3 = ...

La logique est que la valeur sera mise à jour à 99 uniquement si la valeur de la colonne est NULL, en raison du fonctionnement de COALESCE - en renvoyant la première valeur non NULL (en traitant la liste fournie de gauche à droite).