Mam 7 wartości całkowitych (z odpowiednio 3,1,3,4,4,5,4 cyfr) i muszę połączyć je w jedną liczbę całkowitą (tj. 24-cyfrowy numer) . Starałem się zrobić jak tenconcat dwie wartości int w 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);
Ale kiedy go wykonać otrzymuję błąd: bigint poza zasięgiem. Czy istnieje inny lepszy sposób na zrobienie tego?
dzięki
Przez "konkatenację" masz na myśli łączenie ciągów (po odpowiednim rzuceniu)? –