有没有办法从时间戳类型列中获取DateTime值?

Dan*_*kas 11 sql t-sql sql-server

我需要一个select from table,它没有列告诉我何时插入行,只有timestamp列(值如:0x0000000000530278).昨天有些数据导入到表中,现在我需要找出导入的确切内容:(

有没有办法只使用timestamp信息?在这里我发现:

  • 时间戳是一个8字节的连续十六进制数,与日期和时间无关.
  • 要获取时间戳的当前值,请使用:@@ DBTS.

也许有办法找到timestamp特定时间周围的价值?这将有助于形成一个选择.或者也许有一个众所周知的解决方案?

kri*_*tof 20

Transact-SQL时间戳数据类型是二进制数据类型,没有与时间相关的值.

所以回答你的问题:有没有办法从时间戳类型列中获取DateTime值?

答案是:


Pan*_*ros 9

SQL Server 2005中的timestamp数据类型是rowversion的同义词,它只是一个随每行更新自动递增的数字.

您可以将其强制转换为bigint以查看其价值.

要获得新行或更新行的所需内容,您应该可以添加另一个datetime列(lastupdate)和一个触发器,以便在每次更新时更新该列.

对于过去已经插入的行,我不认为你可以做些什么来找到确切的时间.