|
Archives of the TeradataForumMessage Posted: Tue, 03 Jan 2006 @ 16:01:48 GMT
A-Team 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. Chris Coffing
| ||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||
Copyright 2016 - All Rights Reserved | ||||||||||||||||||||||||||||||||||||||||||||||||
Last Modified: 15 Jun 2023 | ||||||||||||||||||||||||||||||||||||||||||||||||