【发布时间】:2012-04-04 22:02:15
【问题描述】:
在我的 SQL Server 表中,我有一列数据类型为 timestamp,我想在 C# 中转换为 DateTime。
【问题讨论】:
在我的 SQL Server 表中,我有一列数据类型为 timestamp,我想在 C# 中转换为 DateTime。
【问题讨论】:
这是不可能的。
"时间戳数据类型只是一个递增的数字,不 保留日期或时间。”
http://msdn.microsoft.com/en-us/library/ms182776%28v=SQL.90%29.aspx
【讨论】:
你不能。 timestamp 数据类型是rowversion 的别名;它是一个二进制递增值,它不是由日期和时间组成,也不是基于日期和时间。
【讨论】:
时间戳类型不是日期或时间的表示,而只是一个生成的数字,它保证在数据库中是唯一的。因此,它不能直接转换。
执行粗略转换的唯一方法是定期将当前时间与时间戳一起存储在新表中,然后选择最接近您要转换的时间戳的时间。
或者,您可能希望在日期时间类型的表中添加一个新列,并在行更改时更新此列。
【讨论】:
Transact-SQL 时间戳数据类型是没有时间相关值的二进制数据类型.....,时间戳既不是日期也不是时间。所以,你不能这样做.....见波尔:
时间戳:
timestamp 是一种数据类型,它公开自动生成的二进制数,保证在数据库中是唯一的。时间戳通常用作对表行进行版本标记的机制。存储大小为 8 个字节。
【讨论】: