2010-05-26 130 views
0

是否可以查询SQL Server表中的时间戳(rowversion)列?如果是这样,怎么样?时间戳列 - 是否可以查询?

我想要做这样的事情:

Select * From MyTable Where MyTimestampColumn = "???" 

但我不知道要放什么东西在“???”

谢谢 - 兰迪

+0

你能解释一下你试图解决什么问题,而不是你如何解决它?你想写什么样的查询?它应该做什么?你的数据是什么?你期望输出什么? – 2010-05-26 16:52:03

+0

@Mark Byers - 这有点复杂,但可以说我只是想为Timestamp列搜索特定的值。 – 2010-05-26 16:55:49

回答

3

timestamp数据类型相当于binary(8)。您可以查询反对:

create table #t (somecolumn varchar(64), mytimestampcolumn timestamp) 

insert into #t (somecolumn) select 'hello world' 
insert into #t (somecolumn) select 'foo' 
select * from #t where mytimestampcolumn = 0x0000000000000978 -- this value will vary 

drop table #t 

注意时间戳已被弃用,在SQL Server 2008中在SQL Server(2005年,2000年)以前的版本,rowversiontimestamp的代名词,以帮助未来的迁移。

0

是的。这实际上是binary(8)

为什么要使用它呢?它只是用来检测UPDATE上的一行的其他更改。否则,您必须测试行中的所有列以进行更改。 MS访问尤其是依赖于它的并发