¿No puede SQL Server almacenar NULL en columnas de longitud fija?


8

Encontré esta declaración en la documentación oficial de Oracle :

En Microsoft SQL Server, solo las columnas con tipos de datos de longitud variable pueden almacenar valores NULL. Cuando crea una columna que permite valores NULL con un tipo de datos de longitud fija, la columna se convierte automáticamente en un tipo de datos de longitud variable del sistema ...

Nunca he leído sobre esto en los documentos de SQL Server ni he experimentado tal cosa. Por el contrario: en SQL Server, los tipos de datos de longitud fija (como int y float, pero también char) se usan mucho y se almacenan de manera muy eficiente incluso cuando son NULLable.

¿Hay alguna razón detrás de esta declaración de Oracle?


Alguna información sobre eso aquí stackoverflow.com/a/13536831/73226 Por cierto, si hace clic en el icono "atrás" en su enlace para ir a la página anterior , indica que Microsoft SQL Server se utiliza en este documento para referirse a Microsoft SQL Server 6.5, Microsoft SQL Server 7.0 y Microsoft SQL Server 2000 a menos que se indique lo contrario.
Martin Smith

Respuestas:


5

Bueno, este fue el caso de Sybase, que es el antepasado de SQL Server. Desafortunadamente, no encontré ninguna información sobre cuándo se realizó este cambio exacto, pero de acuerdo con este artículo, el motor se reescribió por completo en SQL Server 2005. Como este no es el caso de ninguna edición moderna de SQL Server, puede ignorar esto declaración.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.