6

MSDN 页面指出:

不可为空的 rowversion 列在语义上等同于 binary(8) 列。可为空的 rowversion 列在语义上等同于 varbinary(8) 列。

鉴于不可为空的 rowversion 列在语义上等同于 binary(8) 列,为什么说可空的 rowversion 列在语义上等同于 varbinary(8) 列而不是可为空的 binary(8) 列?

这是否意味着可为空的 rowversion 列在语义上不等同于可为空的 binary(8) 列?

我的特定示例是我将有一个表,其中将包含来自其他表的行的副本。一些源表具有行版本,而另一些则没有。因此,我的表中的“rowversion”列必须接受空值。我想了解为什么(或是否)该列应该是 varbinary(8) null 而不是 binary(8) null。

4

1 回答 1

1

binary(8) 是一个正好有 8 个字节的二进制文件。varbinary(8) 是一个最多有 8 个字节的二进制文件。null 是 0 个字节。它必须是可以有 0 或 8 个字节的形式。因此它必须是 varbinary。

于 2013-10-16T21:07:34.933 回答