【发布时间】:2014-01-15 01:46:10
【问题描述】:
我的表中需要两个时间戳字段。一种是用于更新操作的时间戳类型,一种是用于插入的(二进制(8))。
时间戳类型的值是由 sql server 自动生成的, 从哪里获取第二列的值?
【问题讨论】:
-
但是 SQL Server 中的
TIMESTAMP数据类型与正常的、人类可读的日期和时间完全没有...它只是一个二进制“计数器” of sorts....如果您需要 timestamp 作为操作的日期和时间,则需要在 SQL Server 2008 中使用DATETIME2;对于INSERT,您可以定义一个默认约束,它会在插入一行时自动填充它;对于UPDATE,您需要向该表添加触发器 -
但是为什么需要将
timestamp存储为binary?如果你有一个代表timestamp的binary值并且你想存储这个timestamp,那么将binary转换为timestamp然后将它插入到你的数据库中不是更好吗? -
@marc_s 你从哪里得到我认为该类型代表日期时间的信息? ...
-
@drigoangelo 我需要使用该值创建一个表。时间戳内部是 8 个字节的二进制字段。在一个表中只能有一个该类型的字段,但我需要两个用于同步目的。
-
this question 对您有帮助吗?
标签: sql-server sql-server-2008 tsql timestamp