Subject Re: [ib-support] int64 (numeric(18,0)) 64-bit numeric range
Author Claudio Valderrama C.
""Kenneth Foo"" <kenneth@...> wrote in message
news:002301c1a566$79848620$0100a8c0@athlon...
> Hi
>
> How do I create a new column whose type is int64 and capable of handling
> full 64-bit number range?

Numeric(N,0) with N>9, the engine doesn't care.

> Numeric(18,0) handle values from 0 to 72057594037927936 (I think), giving
me
> a 56 bit range.

Wrong approximation, ln 9.9E17 / ln2 = 59.78
and 2^60 = 1.15E18, slightly greater.

> I need 64-bit for some kind of unique ID generation.

Numeric will do with precision greater than 9; the full range is available,
but we do not handle unsigned quantities, so your values above 2^63-1 will
be seen as negative values in a query.

C.
--
Claudio Valderrama C. - http://www.cvalde.com - http://www.firebirdSql.org
Independent developer
Owner of the Interbase® WebRing