sqlserver中datetime和timestamp的区别?

Mdu*_*hil 102 sql sql-server time date

TimestampDatetimeSQL Server有什么区别?

我认为这两种格式都能够存储日期和时间.然后,他们之间的差异在哪里?

但是Timestamp不能存储日期,时间信息.

还有什么区别?

Jon*_*eet 113

根据文档,它timestamp是一个同义词rowversion- 它自动生成并保证1是唯一的.datetime不是 - 它只是一个处理日期和时间的数据类型,可以在插入等客户端指定.


1当然,假设你正确使用它.看评论.

  • 有趣的是,MSDN指出,使用SELECT INTO可以将rowversion视为非唯一 - 尽管他们指出这是一个坏主意.如果您正确使用它(即让数据库管理rowversion值),那么它将始终是唯一的并且单调递增 - 这可能非常方便. (8认同)
  • @MitchWheat 就其价值而言,这个问题更明确,标签更好,并且您回答的问题的观点是其 10 倍。Jon Skeet 在 11 分钟内回答了它,这很可能是在它被标记为重复之前,但我在 2011 年不在 SO,所以我不能确定。编辑:它在 2 年后被标记为重复。:| (2认同)

And*_*ren 17

Datetime是一种数据类型.

时间戳是行版本控制的方法.实际上,在sql server 2008中,此列类型已重命名(即不推荐使用时间戳)到rowversion.它基本上意味着每次更改行时,此值都会增加.这是通过数据库计数器完成的,该计数器对于每个插入或更新的行自动增加.

欲获得更多信息:

http://www.sqlteam.com/article/timestamps-vs-datetime-data-types

http://msdn.microsoft.com/en-us/library/ms182776.aspx