--
时间戳类型和bigint互相转化示例:by jinjazz
set nocount on
-- 申明3个时间戳
declare @timeFlag1 bigint
declare @timeFlag2 bigint
declare @timeFlag3 bigint
-- 建立表,timestamp类型不需要字段名
create table test( timestamp ,a int )
-- 插入1 记录时间戳,@@dbts为数据库时间戳
insert into test select null , 1
set @timeFlag1 = cast ( @@dbts as bigint )
-- 插入2 记录时间戳
insert into test select null , 2
set @timeFlag2 = cast ( @@dbts as bigint )
-- 更新3 记录时间戳
update test set a = 3 where a = 2
set @timeFlag3 = cast ( @@dbts as bigint )
-- 时间戳1的记录
select * from test where timestamp = cast ( @timeFlag1 as varbinary ( 8 ))
-- 时间戳2的记录已经不存在了
select * from test where timestamp = cast ( @timeFlag2 as varbinary ( 8 ))
-- 时间戳3的记录
select * from test where timestamp = cast ( @timeFlag3 as varbinary ( 8 ))
-- 删除表
drop table test
set nocount off
/**/ /*--测试结果
timestamp a
------------------ -----------
0x000000000000B553 1
timestamp a
------------------ -----------
timestamp a
------------------ -----------
0x000000000000B555 3
*/
set nocount on
-- 申明3个时间戳
declare @timeFlag1 bigint
declare @timeFlag2 bigint
declare @timeFlag3 bigint
-- 建立表,timestamp类型不需要字段名
create table test( timestamp ,a int )
-- 插入1 记录时间戳,@@dbts为数据库时间戳
insert into test select null , 1
set @timeFlag1 = cast ( @@dbts as bigint )
-- 插入2 记录时间戳
insert into test select null , 2
set @timeFlag2 = cast ( @@dbts as bigint )
-- 更新3 记录时间戳
update test set a = 3 where a = 2
set @timeFlag3 = cast ( @@dbts as bigint )
-- 时间戳1的记录
select * from test where timestamp = cast ( @timeFlag1 as varbinary ( 8 ))
-- 时间戳2的记录已经不存在了
select * from test where timestamp = cast ( @timeFlag2 as varbinary ( 8 ))
-- 时间戳3的记录
select * from test where timestamp = cast ( @timeFlag3 as varbinary ( 8 ))
-- 删除表
drop table test
set nocount off
/**/ /*--测试结果
timestamp a
------------------ -----------
0x000000000000B553 1
timestamp a
------------------ -----------
timestamp a
------------------ -----------
0x000000000000B555 3
*/