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()
.