Kann SQL Server NULL-Werte nicht in Spalten fester Länge speichern?

8

Ich bin auf diese Aussage in der offiziellen Oracle-Dokumentation gestoßen :

In Microsoft SQL Server können nur Spalten mit Datentypen variabler Länge NULL-Werte speichern. Wenn Sie eine Spalte erstellen, die NULL-Werte mit einem Datentyp fester Länge zulässt, wird die Spalte automatisch in einen Systemdatentyp variabler Länge konvertiert ...

Ich habe darüber noch nie in den SQL Server-Dokumenten gelesen und so etwas noch nicht erlebt. Im Gegenteil: In SQL Server werden Datentypen mit fester Länge (wie int und float, aber auch char) häufig verwendet und sehr effizient gespeichert, selbst wenn sie NULL-fähig sind.

Gibt es Gründe für diese Oracle-Aussage?!

Michel de Ruiter
quelle
Einige Informationen dazu hier stackoverflow.com/a/13536831/73226 Übrigens, wenn Sie auf das Symbol "Zurück" in Ihrem Link klicken, um zur vorherigen Seite zu gelangen , wird angegeben, dass Microsoft SQL Server in diesem Dokument verwendet wird, um auf Microsoft SQL Server 6.5 zu verweisen. Microsoft SQL Server 7.0 und Microsoft SQL Server 2000, sofern nicht anders angegeben.
Martin Smith

Antworten:

5

Nun, dies war der Fall bei Sybase, dem Vorfahren von SQL Server. Leider habe ich keine Informationen darüber gefunden, wann genau diese Änderung vorgenommen wurde, aber gemäß diesem Artikel wurde die Engine in SQL Server 2005 vollständig neu geschrieben. Da dies bei keiner modernen SQL Server-Edition der Fall ist, können Sie dies einfach ignorieren Aussage.

Wald
quelle