sql >> Database teknologi >  >> RDS >> Sqlserver

Opdater alle SQL NULL-værdier i flere kolonner ved hjælp af kolonneniveau WHERE-sætning?

Der er ingen konvention om dette -- hvis du kun vil behandle poster, hvor de respektive kolonner er NULL, skal du bruge:

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

Men du kan bruge dette i UPDATE-sætningen:

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

Logikken er, at værdien kun vil blive opdateret til 99, hvis kolonneværdien er NULL, på grund af hvordan COALESCE fungerer - returnerer den første ikke-NULL-værdi (behandler listen fra venstre mod højre).



  1. Oracle Protocol Adapter Fejl

  2. Hvad er Oracle Session?

  3. Returner SQL-sætningen for en eksplicit markør

  4. ODP.net administreret driver kaster ORA-12570:Netværkssession:Uventet pakkelæsefejl