如何在 Sybase ASE 15.5 中恢复“timestamp”值?
how to restore `timestamp` value in Sybase ASE 15.5?
我是reading
data
从Sybase ASE 15.5
Tabledatabase
和inserting
那个data
回到另一个目标 Sybase ASE 15.5
database
。所有 source
和 destination
数据都匹配,而不是 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.
因此,当我将 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'。
我是reading
data
从Sybase ASE 15.5
Tabledatabase
和inserting
那个data
回到另一个目标 Sybase ASE 15.5
database
。所有 source
和 destination
数据都匹配,而不是 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.
因此,当我将 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'。