Тип данных временной метки управляется SQL Server. Я никогда не видел, чтобы он использовался где-либо, кроме как в качестве типа столбца таблицы. В этом качестве столбец типа timestamp предоставит вам строгий порядковый номер последней вставки / обновления в строке относительно всех других обновлений в базе данных. Чтобы увидеть самый последний порядковый номер во всей базе данных, вы можете получить значение @@ DBTS или rowversion ().
за http://msdn.microsoft.com/en-us/library/ms182776(SQL.90).aspx
отметка времени (Transact-SQL)
- это тип данных, который предоставляет автоматически генерируемые уникальные двоичные числа в базе данных. временная метка обычно используется в качестве механизма для строк таблицы версий. Размер хранилища составляет 8 байт. Тип данных отметки времени - просто увеличивающееся число и не сохраняет дату или время. Для записи даты или времени используйте тип данных datetime.
Следовательно, изменчивое значение столбца метки времени не может быть установлено и может изменяться при любом изменении строки. Однако вы можете зафиксировать значение временной метки в значении varbinary (8).
Например, скажем, у вас есть исходная таблица и целевая таблица.
CREATE TABLE tblSource (
<br/> Id int not null
<br/> colData int not null
<br/> colTimestamp timestamp null)</p>
<p>CREATE TABLE tblTarget (
<br/> Id int not null
<br/> colData int not null
<br/> colTimestampVarBinary varbinary(8) null)
Затем в процессе извлечения может потребоваться захватить все, что было обновлено с момента последнего запуска процесса извлечения.
DECLARE @maxFrozenTargetTimestamp varchar(8)
<br/>SELECT @maxFrozenTargetTimestamp = max(colStamp) FROM tblTarget
<br/>
<br/>INSERT tblTarget(Id, colData, colTimestampVarBinary)
<br/>SELECT
<br/> Id
<br/> ,colData
<br/>, colTimestampVarBinary = convert(varbinary(8) colTimestamp)
<br/>FROM
<br/> tblSource
<br/>WHERE
<br/> tblSource.colTimestamp > @maxFrozenTargetTimestamp
Если у вас возникли проблемы, я думаю, что суть вашей проблемы
находится в преобразовании varchar в varbinary (8), а не в тип метки времени.
Для получения дополнительной информации (возможно, слишком много) см. Комментарий (четвертый внизу), который я оставил для записи в блоге http://vadivel.blogspot.com/2004/10/about-timestamp-datatype-of-sql-server.html?showComment=1213612020000