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?
sql-server
oracle
null
storage
Michel de Ruiter
fuente
fuente
Respuestas:
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.
fuente