Voici une méthode :
select id, ((var1 is null) + (var2 is null) + (var3 is null)) as var4
from table t;
MySQL traite les booléens comme des entiers, vrai étant 1
et false étant 0
. Vous pouvez simplement les additionner pour obtenir le total.
En guise de mise à jour :
update table t
set var4 = ((var1 is null) + (var2 is null) + (var3 is null));
Notez que MySQL ne prend pas en charge ISNULL()
. C'est plus une fonction SQL Server. Mais ce n'est de toute façon pas la norme ANSI, il est donc généralement préférable d'utiliser coalesce()
.