Sql server 将varchar数据类型强制转换或转换为rowversion

Sql server 将varchar数据类型强制转换或转换为rowversion,sql-server,Sql Server,我能够使用下面的代码将表中的rowversion列转换为varchar select CONVERT(VARCHAR, CONVERT(BINARY(8), roversion_col), 1) rwa from TBL 如何将其转换回rowversion数据类型? 难道不可能吗 更新:这不应被视为与重复 这个问题是关于向varchar询问rowversion数据类型。 但是,这个问题与此相反,并且希望使用varchar获取行版本数据。尝试以下方法: CONVERT(行版本,CONVERT(

我能够使用下面的代码将表中的rowversion列转换为varchar

select CONVERT(VARCHAR, CONVERT(BINARY(8), roversion_col), 1) rwa from TBL
如何将其转换回rowversion数据类型? 难道不可能吗

更新:
这不应被视为与重复

这个问题是关于向varchar询问rowversion数据类型。 但是,这个问题与此相反,并且希望使用varchar获取行版本数据。

尝试以下方法:

CONVERT(行版本,CONVERT(二进制(8),@teststring,1))

为什么要转换它?rowversion是一个二进制值,除了保证它只会为该特定行增加外,没有任何特定的意义。它不是数据库版本号,也不能保证具有唯一值。更新的行不能保证获得比现有行更大的值。此外,不能写入
rowversion
字段,因此
rowversion
值不能存储在数据库中的任何位置,除非作为
二进制(8)
是的,我理解。在转换为PostgreSQL期间,Talend已将rowversion转换为字符变化数据类型。我有最新rowversion的记录,想知道最新的更改,但由于记录为字符变化,我无法识别最近的更改为什么不?如果以任何方式修改了行,则rowversion值也将更改。当您尝试重新加载数据时,rowversion将与您存储的数据不同。您是否假设
rowversion
可能是数据库版本,并尝试查找rowversion大于存储的最大版本的内容?您不能像这样使用
rowversion
,顺便说一句,如果您想查找新条目,SQL Server自2005年以来的所有版本和版本都提供了新条目。它确实使用了数据库版本号。您可以要求对任何启用了更改跟踪的表进行所有更改,包括删除。与加载所有内容并通过比较行来查找更改不同,您只需请求自上次提取的数据库版本以来的任何更改记录