Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Zaktualizuj wszystkie wartości SQL NULL w wielu kolumnach za pomocą klauzuli WHERE poziomu kolumny?

Nie ma w tym żadnej konwencji -- jeśli chcesz przetwarzać tylko rekordy, w których odpowiednie kolumny mają wartość NULL, musisz użyć:

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

Ale możesz użyć tego w instrukcji UPDATE:

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

Logika jest taka, że ​​wartość zostanie zaktualizowana do 99 tylko wtedy, gdy wartość kolumny jest NULL, ze względu na sposób działania COALESCE — zwracanie pierwszej wartości innej niż NULL (przetwarzanie listy dostarczonej od lewej do prawej).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Czy można wybrać dane serwera sql za pomocą pozycji porządkowej kolumny?

  2. Jak połączyć się z domyślną instancją programu SQL Server i nazwanymi wystąpieniami programu SQL Server — samouczek programu SQL Server/TSQL — część 2

  3. Podejście do ogólnego projektowania baz danych

  4. Zmień funkcję serwera SQL, aby zaakceptować nowy opcjonalny parametr

  5. Jak zwrócić wszystkie wolne okresy z umówionego terminu?