La consulta anterior- como dije -es bastante chapucera. Aquí te pongo otra, igual de chapucera pero quizá más eficiente y manejable:
Código SQL
[-]
select
a,b,
cast(cast(a as char(10)) || '' as float) +
cast(cast(b as char(10)) || '' as float) suma
from tabla
suponiendo aquí, que a y b son de tipo NUMERIC. El CAST interno,
Código SQL
[-]
cast(a as char(10)) || ''
fuerza el valor NULL a ser una cadena, de manera que el CAST exterior ya lo convierte a 0. Si el valor no es NULL, el doble CAST simplemente convierte a cadena y de vuelta a número sin alterar nada.
De esta manera nos evitamos los UNION y nos permite agregar más columnas a la suma. Con el método del UNION, por cada columna extra, se requeriría agregar otro tanto de consultas, es decir, con n columnas se tendrían que usar 2^n consultas en la unión.
Por otra parte, yo prefiero que sigas llamándome
roman, que ése es mi nombre. Lo demás, si bien agradezco el halago, sólo son palabras. Aquí somos todos iguales.
// Saludos