Archives of the TeradataForum
Message Posted: Tue, 03 Jan 2006 @ 16:01:48 GMT
We are trying to determine how to best handle a requirement to support a 64-bit ID in Teradata.
I just wanted to bounce something off of you to see if you concur. The project has a requirement for a 64-bit number as the ID for each of the tables (A 32-bit value from a Source seed and a 32-bit value from another Source seed). This is my problem, Teradata doesn't support 64-bit numbers and a double looses precision (I think 56-bits plus 8 for exponent in IEEE definition).
Is the only way to support this is to produce a two part key of two integers, then the external 64-bit client multiplies the numbers together and reports the value to the User?
create table big_int ( int1 integer, int2 integer, double3 double) ; insert into big_int (2147483647, 2147483647, null); update big_int set double3 = cast(int1 as double precision) * cast(int2 as double precision) ; select * from big_int where double3 = cast(int1 as double precision) * cast(int2 as double precision) ; select * from big_int where double3 = cast(4611686014132420609 as double); select * from big_int where double3 = 4611686014132420609;
Any assistance is greatly appreciated.
|Copyright 2016 - All Rights Reserved|
|Last Modified: 28 Jun 2020|