これが1つの方法です:
select id, ((var1 is null) + (var2 is null) + (var3 is null)) as var4
from table t;
MySQLはブール値を整数として扱い、trueは1
です。 偽は0
。それらを合計するだけで合計を得ることができます。
更新として:
update table t
set var4 = ((var1 is null) + (var2 is null) + (var3 is null));
注意として、MySQLはISNULL()
をサポートしていません 。これは、SQLServerの機能です。ただし、とにかくANSI規格ではないため、通常はcoalesce()
を使用することをお勧めします。 。