Это немного зависит от того, что вы подразумеваете под последним ненулевым столбцом.Я предполагаю, что вы имеете в виду «учитывая этот список, вернуть первый со значением», где список [6, 5, 4, 3].Если это так, используйте это:
SELECT COALESCE(col6, col5, col4, col3)
FROM AddressTable
WHERE rowId = :input
Функция COALESCE()
возвращает первое значение, которое разрешается не равным нулю, или ноль, если все значения равны нулю.