sql >> Database >  >> RDS >> Sqlserver

Werk alle SQL NULL-waarden in meerdere kolommen bij met behulp van de WHERE-component op kolomniveau?

Hier is geen conventie voor -- als u alleen records wilt verwerken waarvan de respectieve kolommen NULL zijn, moet u het volgende gebruiken:

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

Maar je zou dit kunnen gebruiken in de UPDATE-instructie:

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

De logica is dat de waarde alleen wordt bijgewerkt naar 99 als de kolomwaarde NULL is, vanwege de manier waarop COALESCE werkt:de eerste niet-NULL-waarde wordt geretourneerd (de lijst wordt van links naar rechts verwerkt).



  1. MySQL-query om meerdere attributen en value_id te zoeken

  2. javax.persistence.EntityExistsException met SequenceGenerator

  3. MySQL-inhoud scheiden via PHP op basis van voorkeur per land/gebruiker

  4. Verwijder duplicaten uit een tabel en koppel de referentierijen opnieuw aan de nieuwe master