sql >> Databáze >  >> RDS >> Sqlserver

Aktualizujte všechny hodnoty SQL NULL ve více sloupcích pomocí klauzule WHERE na úrovni sloupce?

Neexistuje na to žádná konvence -- pokud chcete zpracovávat pouze záznamy, kde mají příslušné sloupce hodnotu NULL, musíte použít:

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

Ale můžete to použít v příkazu UPDATE:

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

Logika je taková, že hodnota bude aktualizována na 99 pouze v případě, že hodnota sloupce je NULL, kvůli tomu, jak COALESCE funguje – vrací první hodnotu, která není NULL (zpracování seznamu poskytnutého zleva doprava).



  1. Zkrátit datum na fiskální rok

  2. Proč mi PHP OCI8/Oracle oci_bind_array_by_name nefunguje?

  3. Převeďte Int na pole data

  4. Použití sloupce odvozeného z funkce hodnocení v klauzuli where (SQL Server 2008)