每行有若干列,很多列是空值,如何计算非空列的差值

a b c d e f
01 null 5 null 3 5
02 5 null 5 null null

或者取b c d e f的最大值与最小值也可以
01 最大值5 最小值3
02 最大值5 最小值5

a b c d e f
01 null 5 null 3 5
02 5 null 5 null null

得到结果
01 2
02 0

很简单。
第一种方法:笨方法,写个排序算法循环拿出每行b c d e f的值排序,然后最大减去最小。(shell go java python 都可以或者存储过程)
第二种方法,最简单。
将表中的b c d e f数据行转列存储到新表,然后第一列max()-min(),第二列max()-min()就解决了。

有点不明白

主要是怎么排除掉空值