Zde je jeden způsob:
select id, ((var1 is null) + (var2 is null) + (var3 is null)) as var4
from table t;
MySQL zachází s booleany jako s celými čísly, přičemž true je 1
a false je 0
. Můžete je sečíst a získat celkový počet.
Jako aktualizace:
update table t
set var4 = ((var1 is null) + (var2 is null) + (var3 is null));
Poznámka:MySQL nepodporuje ISNULL()
. To je spíše funkce SQL Serveru. Ale stejně to není standard ANSI, takže je obvykle lepší použít coalesce()
.