Estimados necesito saber si me pueden ayudar a concatenar unos campos en un select, he intentado de varias formas, pero no he tenido exito.
ejemplo:
campo1 = 20150825 --// numérico
campo2 = varia entre 1 y 20 -// numérico
campo3= 25123 --// valor númerico
La idea es cancatenar y quede asi:
campo1+campo2+campo3
para valores en el campo2 menores de 10 que agregue un 0 adelante
150825012523
ó
150825102523 -> cuando el campo2 es mayor q 9
intente con algo como esto, es este sql puse los valores, pero estos obviamente se sacan de los campos de las tablas:
Código SQL:
Ver originalSELECT SUBSTRING(20150825 FROM 3 FOR 6) || CASE WHEN 1 < 10 THEN '0'||to_char(1,'9') ELSE 1 END || 25123;
el problema es que me da el error:
ERROR: los tipos integer y text no son coincidentes en CASE
SQL state: 42804
cuando force los valores a numéricos no me entrega el resultado esperado para valores mejores de 9 en la segunda variable:
Código SQL:
Ver originalSELECT SUBSTRING(20150825 FROM 3 FOR 6) || CASE WHEN 1 < 10 THEN to_number('0'||to_char(1,'9'),'99') ELSE 11 END || 25123 AS campo_combinado;
esto no da error, pero no agrega el 0 delante del campo2
gracias.