如何在 Sybase ASE 15.5 中恢复“timestamp”值?

how to restore `timestamp` value in Sybase ASE 15.5?

我是readingdataSybase ASE 15.5Tabledatabaseinserting那个data回到另一个目标 Sybase ASE 15.5 database。所有 sourcedestination 数据都匹配,而不是 timestamp 列。

据我所知,timestamp 列会自动更新:

Every time a row containing a timestamp column is inserted or updated, the timestamp column is automatically updated. A table can have only one column of the timestamp datatype. A column named timestamp will automatically have the system datatype timestamp.

来源:https://www.aquaclusters.com/app/home/project/public/aquadatastudio/wikibook/Sybase-ASE-3/page/4/Data-Types

因此,当我将 timestamp 数据恢复到目标数据库时,它与实际数据库不匹配。

这是 Source 的屏幕截图 Table

这是目的地的简短屏幕 Table

如何恢复时间戳列的精确值?

仅供参考:

我正在使用 Apache Meta-model 从源 table 查询数据并将该数据恢复回目标数据库。 As you can see timestamp is an array of bytes so I am extracting data as an array of bytes and restore it again as array of bytes but the value timestamp column is being changed when restore

你不能。时间戳列将始终更新;这些列包含的这个值是 'database timestamp',它是 ASE 中事务机制的基础,并且随着 每个 插入或更新的行或数据库。 然而,名称 'timestamp' 具有误导性,因为它与现实世界的时间完全无关。它只是一个 6 字节的计数器,只会在数据库的生命周期内增加。

如果您想在这些列中使用真实时间,请改用数据类型 'datetime' 或 'bigdatetime'。