SQL Server ne peut-il pas stocker des valeurs NULL dans des colonnes de longueur fixe?

8

Je suis tombé sur cette déclaration dans la documentation officielle d'Oracle :

Dans Microsoft SQL Server, seules les colonnes avec des types de données de longueur variable peuvent stocker des valeurs NULL. Lorsque vous créez une colonne qui autorise les valeurs NULL avec un type de données de longueur fixe, la colonne est automatiquement convertie en un type de données de longueur variable système ...

Je n'ai jamais lu à ce sujet dans les documents SQL Server et je n'ai jamais vécu une telle chose. Au contraire: dans SQL Server, les types de données de longueur fixe (tels que int et float, mais aussi char) sont fortement utilisés et stockés très efficacement même lorsqu'ils sont NULLables.

Y a-t-il une justification derrière cette déclaration Oracle?!

Michel de Ruiter
la source
Quelques informations à ce sujet ici stackoverflow.com/a/13536831/73226 BTW si vous cliquez sur l'icône "retour" sur votre lien pour aller à la page précédente, il indique que Microsoft SQL Server est utilisé dans ce document pour faire référence à Microsoft SQL Server 6.5, Microsoft SQL Server 7.0 et Microsoft SQL Server 2000, sauf indication contraire.
Martin Smith

Réponses:

5

Eh bien, c'était le cas pour Sybase, qui est l'ancêtre de SQL Server. Malheureusement, je n'ai trouvé aucune information sur la date à laquelle cette modification a été effectuée, mais selon cet article, le moteur a été entièrement réécrit dans SQL Server 2005. Comme ce n'est le cas pour aucune édition moderne de SQL Server, vous pouvez simplement ignorer cela. déclaration.

Forrest
la source