Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Atualizar todos os valores SQL NULL em várias colunas usando a cláusula Column level WHERE?


Não há nenhuma convenção para isso - se você deseja processar apenas registros onde as respectivas colunas são NULL, você precisa usar:
WHERE Answer_1 IS NULL 
   OR Answer_2 IS NULL 
   OR ...

Mas você pode usar isso na instrução UPDATE:
UPDATE YOUR_TABLE
   SET col1 = COALESCE(col1, 99),
       col2 = COALESCE(col2, 99),
       col3 = ...

A lógica é que o valor será atualizado para 99 somente se o valor da coluna for NULL, devido ao modo como COALESCE funciona -- retornando o primeiro valor não NULL (processando a lista fornecida da esquerda para a direita).