sqlserver2000 的timestamp原来可以转成bigint型
为了实现对数据库变化的监控想到了可以用一下sqlserver 的timestamp类型,大致的知道一些用法,没想到使用起来却是一筹莫展。 sqlserver帮助文档中说: timestamp 用于表示SQL Server在一行上的活动顺序,按二进制格式以递增的数字来表示。当表中的行发生变动时,用从@@DBTS函数获得的当前数据库的时间戳值来更新时间戳。timestamp数据与插入或修改数据的日期和时间无关。若要自动记录表中数据更改的时间,使用 datetime 或 smalldatetime 数据类型记录事件或触发器。 说明 在SQL Server中rowversion是timestamp的同义词。 ? faint!原本以为timestamp能用adoquery的AsSQLTimeStamp或AsDateTime获得结果是编译通过但运行报数据类型错误。 最后发现可以将其转换成bigint型,转换完了一看更晕了,原来时间戳就是一个自增的整数。 ? sql语句: select cast(@@dbts as bigint) as tt from tabelnm ? 然后就可以将其作为整数处理了。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |