sql >> Databasteknik >  >> RDS >> Mysql

räkna antal nollvariabler per rad mysql

Här är ett sätt:

select id, ((var1 is null) + (var2 is null) + (var3 is null)) as var4
from table t;

MySQL behandlar booleaner som heltal, där sant är 1 och false är 0 . Du kan bara lägga till dem för att få summan.

Som en uppdatering:

update table t
    set var4 = ((var1 is null) + (var2 is null) + (var3 is null));

Som en notering, MySQL stöder inte ISNULL() . Det är mer en SQL Server-funktion. Men det är inte ANSI-standard i alla fall, så du är vanligtvis bättre av att använda coalesce() .




  1. Hämtar okänd primärnyckel för tabellen medan ID:t finns där

  2. Vad är SQLite?

  3. Hur kan jag göra boolesk logik på två kolumner i MySQL?

  4. INITCAP() – Konvertera till initiala Caps i PostgreSQL