sql >> Database >  >> RDS >> Mysql

tel aantal Null-variabelen per rij mysql

Hier is een manier:

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

MySQL behandelt booleans als gehele getallen, waarbij waar 1 is en false is 0 . Je kunt ze gewoon optellen om het totaal te krijgen.

Als update:

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

Let op:MySQL ondersteunt ISNULL() niet . Dat is meer een SQL Server-functie. Maar het is sowieso geen ANSI-standaard, dus je bent meestal beter af met coalesce() .




  1. Hoe een .Net-toepassing te schrijven die werkt met zowel SqlServer als Oracle (nu System.Data.OracleClient is verouderd)

  2. Waarom geeft MySQL een foutmelding Niet toegestaan ​​om een ​​resultaatset van een functie te retourneren?

  3. Hoe om te gaan met een enkele aanhalingsteken in Oracle SQL

  4. De juiste manier om een ​​unieke beperking te implementeren die meerdere NULL-waarden in SQL Server toestaat