Question

Quel est le sous-jacent des valeurs de structure de données datetime stockées dans SQL Server (2000 et 2005 si elle est différente)? À-dire jusqu'à la représentation des octets?

On peut supposer que la représentation par défaut que vous obtenez lorsque vous sélectionnez une colonne datetime est une valeur spécifique de la culture / sous réserve de modifications. Autrement dit, une structure sous-jacente que nous ne voyons pas est formaté pour obtenir AAAA-MM-JJ HH: MM:. SS.mmm

Je pose la question qu'il ya une opinion générale dans mon département qu'il est stocké dans la mémoire littéralement AAAA-MM-JJ HH: MM: SS.mmm mais je suis sûr que ce n'est pas le cas

Était-ce utile?

La solution

Il est stockée en tant champ de 8 octets, d'une portée à partir 01.01.1753 par 9999-12-31, une précision de 0,00333 secondes.

Les détails sont censés être opaques, mais la plupart des ressources (1) , (2) que j'ai trouvé sur l'état Web les éléments suivants:

  

Les 4 premiers octets stockent le nombre de jours depuis l'époque de SQL Server (1 janvier 1900) et que le second 4 octets stocke le nombre de tiques après minuit, où un « tick » est de 3,3 millisecondes.

Les quatre premiers octets sont signés (peut être positif ou négatif), ce qui explique pourquoi les dates antérieures à l'époque peut être représentée.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top