首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

请教,时间戳

2012-09-28 
请问,时间戳我在SQL Server中的一列数据类型设置为timestamp,填充数据后,此列的显式的是二进制数据,那说明

请问,时间戳
我在SQL Server中的一列数据类型设置为timestamp,填充数据后,此列的显式的是二进制数据,那说明时间戳列是存的二进制数据吧,

那请问,时间戳列的值读出来是什么东西呢,我用FileStream 读出来,在记事本中,是空的

能读出来是什么东西吗?

[解决办法]
是一种自动公开数据库中生成的唯一的二进制数的数据类型。rowversion 和 timestamp 是数据类型同义词。rowversion 通常用于对表行进行版本戳记的机制。存储大小为 8 个字节。rowversion 数据类型是一个增加的数字,并且不保留日期或时间。若要记录日期或时间,请使用 datetime 数据类型。
[解决办法]
参考
http://msdn.microsoft.com/zh-cn/library/bb726005(v=sql.100).aspx
[解决办法]
SQL Server timestamp 数据类型与时间和日期无关。SQL Server timestamp 是二进制数字,它表明数据库中数据修改发生的相对顺序。实现 timestamp 数据类型最初是为了支持 SQL Server 恢复算法。每次修改页时,都会使用当前的 @@DBTS 值对其做一次标记,然后 @@DBTS 加1。这样做足以帮助恢复过程确定页修改的相对次序,但是 timestamp 值与时间没有任何关系。

其实呢,也就是相当于自增标识量

你可以 利用sql 转为为数字读取出来
select CONVERT(bigint,'列名')


[解决办法]
可以转换的,用convert函数即可,convert(bitint,timestamp列)
[解决办法]
convert(bigint,timstamt列)

热点排行