これが最もクリーンなソリューションです
select coalesce((A+B)/2,A,B)
.
.
.
デモ:
declare @t table (id int,A int,B int)
insert into @t values (1,30,50),(2,30,null),(3,null,50),(4,null,null)
select id,A,B,coalesce((A+B)/2,A,B) as result
from @t
+----+------+------+--------+
| id | A | B | result |
+----+------+------+--------+
| 1 | 30 | 50 | 40 |
+----+------+------+--------+
| 2 | 30 | NULL | 30 |
+----+------+------+--------+
| 3 | NULL | 50 | 50 |
+----+------+------+--------+
| 4 | NULL | NULL | NULL |
+----+------+------+--------+