SqlServer的 timestamp数据类型

-- 时间戳类型和bigint互相转化示例:byjinjazz

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

/**/ /*--测试结果
timestampa
-----------------------------
0x000000000000B5531

timestampa
-----------------------------

timestampa
-----------------------------
0x000000000000B5553
*/

你可能感兴趣的:(sqlserver)