Questo MSDN page afferma:Perché una colonna di conversione file nullable è semanticamente equivalente a un varbinary (8)?
Una colonna rowversion nonnullable è equivalente alla binario (8) colonna . Una colonna di conversione delle versioni Null è semanticamente uguale a equivalente a una colonna varbinary (8).
Dato che una colonna rowversion nonnullable è semanticamente equivalente ad un (8) colonna binaria, perché dire una colonna nullable rowversion è semanticamente equivalente ad un varbinary (8) colonna e non un binario (8) colonna Null?
Ciò implica una colonna di conversione di valori nulli non semanticamente semanticamente equivalente a una colonna di binario nullo (8)?
Il mio esempio particolare è che avrò una tabella che conterrà copie di righe da altre tabelle. Alcune tabelle di origine hanno una rowversion e altre no. Pertanto, la colonna "rowversion" nella mia tabella deve accettare valori nulli. Voglio capire perché (o se) la colonna dovrebbe essere varbinary (8) null invece di binary (8) null.
@Andomar Ho aggiornato la mia domanda per spiegare perché mi piacerebbe sapere. –
Grande, ora è meglio. Tuttavia, non è possibile ritrattare un voto ravvicinato. – Andomar
Una colonna di tipo 'binary (8)' avrà ** sempre ** contiene 8 byte di memoria - indipendentemente da ciò che viene memorizzato al suo interno - anche 'NULL'. Una versione nullable di ciò - 'varbinary (8)' - tuttavia occuperà solo lo spazio necessario (oltre a qualche overhead). –