SQL Server non può archiviare NULL in colonne a lunghezza fissa?


8

Mi sono imbattuto in questa affermazione nella documentazione ufficiale di Oracle :

In Microsoft SQL Server, solo le colonne con tipi di dati a lunghezza variabile possono memorizzare valori NULL. Quando si crea una colonna che consente NULL con un tipo di dati a lunghezza fissa, la colonna viene automaticamente convertita in un tipo di dati a lunghezza variabile di sistema ...

Non ne ho mai letto nulla nei documenti di SQL Server né ho sperimentato una cosa del genere. Al contrario: in SQL Server, i tipi di dati a lunghezza fissa (come int e float, ma anche char) sono pesantemente utilizzati e archiviati in modo molto efficiente anche quando NULLable.

C'è qualche logica dietro questa affermazione Oracle ?!


Alcune informazioni su questo qui stackoverflow.com/a/13536831/73226 BTW se si fa clic sull'icona "indietro" sul collegamento per andare alla pagina precedente si afferma che Microsoft SQL Server è utilizzato in questo documento per fare riferimento a Microsoft SQL Server 6.5, Microsoft SQL Server 7.0 e Microsoft SQL Server 2000 se non diversamente indicato.
Martin Smith,

Risposte:


5

Bene, questo è stato il caso di Sybase, che è l'antenato di SQL Server. Sfortunatamente, non ho trovato alcuna informazione su quando è stata apportata questa modifica esatta, ma secondo questo articolo il motore è stato completamente riscritto in SQL Server 2005. Dato che non è il caso di nessuna versione moderna di SQL Server, puoi semplicemente ignorare dichiarazione.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.