SQL Server无法将NULL存储在固定长度的列中吗?


8

我在Oracle官方文档中遇到了以下声明:

在Microsoft SQL Server中,只有具有可变长度数据类型的列才能存储NULL值。创建允许固定长度数据类型为NULL的列时,该列将自动转换为系统可变长度数据类型...

我从未在SQL Server文档中阅读过此书,也从未经历过这样的事情。相反:在SQL Server中,固定长度的数据类型(例如int和float,还包括char)被大量使用,并且即使可以为NULL时也非常有效地存储。

这个Oracle声明背后有什么根据吗?


如果您单击链接上的“后退”图标转到上一页,则此处的一些信息overstackoverflow.com/a/13536831/73226 BTW 指出此文档中使用Microsoft SQL Server来指代Microsoft SQL Server 6.5,除非另有说明,否则Microsoft SQL Server 7.0和Microsoft SQL Server 2000。
马丁·史密斯

Answers:


5

好了,这针对Sybase,这是SQL Server的祖先的情况。不幸的是,我没有找到有关何时进行此确切更改的任何信息,但是根据本文,该引擎已在SQL Server 2005中完全重写。由于对于任何现代SQL Server版本而言,情况并非如此,因此您可以忽略此信息声明。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.