| From Sybase documentation: “datetime columns hold dates between January 1, 1753 and December 31, 9999. datetime values are accurate to 1/300 second on platforms that support this level of granularity. Storage size is 8 bytes: 4 bytes for the number of days since the base date of January 1, 1900 and 4 bytes for the time of day.
- smalldatetime columns hold dates from January 1, 1900 to June 6, 2079, with accuracy to the minute. Its storage size is 4 bytes: 2 bytes for the number of days after January 1, 1900, and 2 bytes for the number of minutes after midnight.
- bigdatetime columns hold dates from January 1, 0001 to December 31, 9999 and 12:00:00.000000 a.m. to 11:59:59.999999 p.m.. Its storage size is 8 bytes. bigdatetime values are accurate to a microsecond. The internal representation of bigdatetime is a 64-bit integer containing the number of microseconds since 01/01/0000.”
{{InstantType}} uses a {{TimestampTypeDescriptor}}, which is mapped to {{Types.TIMESTAMP}}. For Sybase, {{Types.TIMESTAMP}} is mapped to datetime type. All failures are for an Instant in the year 1600, which is why there is an arithmetic overflow. For now, I will skip the tests involving the year 1600, since it is not valid for datetime. |