Ето един начин:
select id, ((var1 is null) + (var2 is null) + (var3 is null)) as var4
from table t;
MySQL третира булевите числа като цели числа, като true е 1
и false е 0
. Можете просто да ги съберете, за да получите общата сума.
Като актуализация:
update table t
set var4 = ((var1 is null) + (var2 is null) + (var3 is null));
Като забележка, MySQL не поддържа ISNULL()
. Това е по-скоро функция на SQL Server. Но така или иначе не е стандарт на ANSI, така че обикновено е по-добре да използвате coalesce()
.