Oto jeden sposób:
select id, ((var1 is null) + (var2 is null) + (var3 is null)) as var4
from table t;
MySQL traktuje wartości logiczne jako liczby całkowite, gdzie prawda to 1
a fałsz jest 0
. Możesz je po prostu dodać, aby uzyskać sumę.
Jako aktualizacja:
update table t
set var4 = ((var1 is null) + (var2 is null) + (var3 is null));
Uwaga:MySQL nie obsługuje ISNULL()
. To bardziej funkcja SQL Server. Ale i tak nie jest to standard ANSI, więc zwykle lepiej jest używać coalesce()
.