这个MSDN页面声明:
非空行版本列在语义上等价于二进制(8)列。可为空的行版本列在语义上等效于var二进制(8)列。
假设一个非空行版本列在语义上等价于一个二进制(8)列,那么为什么一个可空行版本列在语义上等价于var二进制(8)列,而不是一个可空二进制(8)列?
这是否意味着可空行版本列在语义上不等同于可空二进制(8)列?
我的特殊示例是,我将拥有一个包含来自其他表的行的副本的表。一些源表有行版本,而另一些则没有。因此,我表中的" rowversion“列必须接受空值。我想了解为什么(或者如果)列应该是var二进制(8) null而不是二进制(8) null。
发布于 2013-10-16 21:07:34
二进制(8)是确切有8个字节的二进制。Var二进制(8)是具有最多8个字节的二进制文件。null是0字节。它必须是一个可以有0或8个字节的表单。因此,它必须是变量二进制。
https://stackoverflow.com/questions/16983290
复制相似问题