【发布时间】:2011-05-26 12:03:33
【问题描述】:
Sql Server 中的 datetime 和 timestamp 数据类型有什么区别?
【问题讨论】:
-
重复的问题stackoverflow.com/questions/7105093/… 有讨论,可能会很有趣
标签: sql-server-2005
Sql Server 中的 datetime 和 timestamp 数据类型有什么区别?
【问题讨论】:
标签: sql-server-2005
一个是日期和时间,另一个是列类型,每次更新一行时都会更新。
[注意时间戳已被弃用;改用rowversion]
【讨论】:
时间戳(不推荐使用 rowversion 的同义词):
是一种在数据库中公开自动生成的唯一二进制数的数据类型。 rowversion 通常用作对表行进行版本标记的机制。存储大小为 8 个字节。 rowversion 数据类型只是一个递增的数字,不保留日期或时间。要记录日期或时间,请使用 datetime2 数据类型。
【讨论】:
通常当您将新记录自动插入数据库时使用的时间戳系统将采用默认日期时间 例如:银行存款或提款等交易
在将用户定义的日期插入记录时使用的数据时间数据类型 例如:出生日期
【讨论】:
timestamp 是 rowversion 数据类型的同义词,受数据类型同义词的行为影响。在 DDL 语句中,尽可能使用 rowversion 而不是 timestamp。简单来说,就是行的更新时间。 datetime 表示行的创建时间。 DateTime 是固定的,其他的可以根据实际时间和本地时间来改变。
【讨论】: