Subject Re: [firebird-support] Re: How do you fetch SmallInt data type using sqlda?
Author Helen Borrie
>
>On Apr 13, 2006, at 08:26, Ann W. Harrison wrote:
>
> > Timestamp is an array of two 32 bit words, one containing the (signed)
> > number of days since November 17, 1858 (long story) and the second is
> > the (unsigned) number of 100 microsecond units (I think) since the
> > beginning of the day.

I think Ann meant to type 10 microsecond units since the beginning of the day.

> There are conversion routine to and from the tm
> > structure.
>
>Unfortunately, these routines do not handle fractional seconds, so
>the actual units are helpful for some folks. From a quick check of
>my code, these units seem correct.
>
>FWIW, there is also a limit in the FB parser that causes an error
>when specifying timestamps with more than four decimals in the
>fractional part of the seconds.

To be more exact, Fb 1.5 *overflows* with more than four decimals in
the fractional part of the seconds.

Possibly another thing that's relevant (though one can't tell from
the Subject of this thread!) is that the CURRENT_TIMESTAMP and 'NOW'
variables return ".0000" always in the subsecond portion, due indeed
to the limitations of the tm structure. The external function
library fbudf has a GetExactTimeStamp() function which returns the
ten-thousandths of the second.

./heLen