Tengo 7 valores enteros (con 3,1,3,4,4,5,4 dígitos respectivamente) y tengo que concatenarlos en un solo entero (es decir, un número de 24 dígitos) . Intenté hacerlo asíconcat dos valores int en postgresql
create or replace function gen_id(int,int,int,int,int,int,int) returns bigint as $$
declare
id bigint;
begin
id = $1 * 1000000000000000000000 + $2 * 100000000000000000000 + $3 * 100000000000000000 + $4 * 10000000000000 + $5 * 1000000000 + $6 * 10000 + $7;
return id;
end;
$$ language plpgsql;
select * from gen_id(100,1,101,1000,1001,10001,1000);
Pero cuando lo ejecuto recibo el error: bigint fuera de rango. ¿Hay alguna otra forma mejor de hacerlo?
gracias
Por "concatenación", ¿te refieres a la concatenación de cadenas (después de la conversión adecuada)? –