O SQL Server não pode armazenar NULLs em colunas de comprimento fixo?

8

Encontrei esta declaração na documentação oficial do Oracle :

No Microsoft SQL Server, apenas colunas com tipos de dados de comprimento variável podem armazenar valores NULL. Quando você cria uma coluna que permite NULLs com um tipo de dados de comprimento fixo, a coluna é automaticamente convertida em um tipo de dados de comprimento variável do sistema ...

Nunca li sobre isso nos documentos do SQL Server nem experimentei isso. Pelo contrário: no SQL Server, tipos de dados de comprimento fixo (como int e float, mas também char) são muito usados ​​e armazenados com muita eficiência, mesmo quando NULLable.

Existe alguma justificativa por trás dessa declaração da Oracle ?!

Michel de Ruiter
fonte
Algumas informações sobre isso aqui stackoverflow.com/a/13536831/73226 BTW, se você clicar no ícone "voltar" no seu link para ir para a página anterior , indica que o Microsoft SQL Server é usado neste documento para se referir ao Microsoft SQL Server 6.5, Microsoft SQL Server 7.0 e Microsoft SQL Server 2000, salvo indicação em contrário.
Martin Smith

Respostas:

5

Bem, esse foi o caso do Sybase, que é o ancestral do SQL Server. Infelizmente, não encontrei informações sobre quando essa alteração exata foi feita, mas, de acordo com este artigo, o mecanismo foi totalmente reescrito no SQL Server 2005. Como esse não é o caso de nenhuma edição moderna do SQL Server, você pode simplesmente ignorar isso. declaração.

Forrest
fonte