2010-05-26 5 views
0

SQL Server 테이블의 타임 스탬프 (rowversion) 열을 쿼리 할 수 ​​있습니까? 그렇다면 어떻게?타임 스탬프 열 - 쿼리 할 수 ​​있습니까?

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

을 그러나 "???"를 넣어하는 것이 무엇인지 확실하지 않다 :

나는 같은 것을 할 싶습니다

감사합니다 - 랜디

+0

문제 해결 방법보다는 문제 해결 방법을 설명해 주시겠습니까? 어떤 종류의 쿼리를 쓰려고합니까? 어떻게해야합니까? 당신의 데이터는 무엇입니까? 당신은 어떤 결과물을 기대합니까? –

+0

@Mark Byers - 다소 복잡하지만 단순히 Timestamp 열에서 특정 값을 검색하기 만하면됩니다. –

답변

3

timestamp 데이터 유형은 binary(8)과 같습니다. 당신은에 대해 조회 할 수 있습니다 : 그 타임 스탬프는 SQL 서버 (2005, 2000) 이전 버전의 SQL 서버 2008에서 사용되지

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 

참고 rowversion 향후 마이그레이션에 도움이 timestamp 동의어입니다.

0

예. 사실 binary(8)입니다.

왜 그렇지 않으면 사용해야합니까? UPDATE에서 행에 대한 다른 변경 사항을 감지하는 용도로만 사용됩니다. 그렇지 않으면 변경 사항이 있는지 행의 모든 ​​열을 테스트해야합니다. MS 액세스 특히 동시

위해에 의존
0

으로 SQL Server 타임 스탬프 열은 종종 동시성에 (명시 적 또는 암시 적으로) 쿼리, 행 버전을위한 것이며, (http://msdn.microsoft.com/en-us/library/ms182776.aspx)

그러나 시간과 관계없는 다중 사용자 응용 프로그램에 대한 코드 검사.