Domanda

Qual è il valore sottostante datastructure di valori datetime memorizzati in SQL Server (2000 e il 2005 se diverso)? Vale a dire fino alla rappresentazione di byte?

Probabilmente la rappresentazione di default che si ottiene quando si seleziona una colonna datetime è un valore specifico della cultura / soggetto a modifiche. Vale a dire, una certa struttura di fondo che non vediamo è sempre formattato per AAAA-MM-GG HH: MM:. SS.mmm

motivo che mi chiedo è che ci sia una visione generale tenutasi nel mio reparto che è memorizzato nella memoria letteralmente AAAA-MM-GG HH: MM: SS.mmm ma sono sicuro che questo non è il caso

È stato utile?

Soluzione

E ' memorizzato come un campo 8 byte, capace di una gamma dal 1753/01/01 attraverso 9999-12-31, precisione di 0.00333 secondi.

I dettagli sono presumibilmente opaco, ma la maggior parte delle risorse (1) , (2) che ho trovato sul web stato il seguente:

  

I primi 4 byte memorizzare il numero di giorni dal periodo di SQL Server (1 gennaio, 1900), e che la seconda 4 byte memorizza il numero di zecche dopo la mezzanotte, in cui un "tick" è di 3,3 millisecondi.

I primi quattro byte sono firmati (può essere positivo o negativo), il che spiega il motivo per cui le date precedenti al l'epoca può essere rappresentato.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top