2012-04-24 6 views
0

DateTime est précis à trois centièmes de seconde. SmallDateTime est précis à une minute.Le moyen le plus efficace pour stocker uniquement la date?

Et si vous avez seulement besoin de précision pour un jour? Quelle est la meilleure pratique ici? Je me rends compte qu'un DateTime est 8 octets, et SmallDateTime est seulement 4; mais je me demande juste s'il y a une meilleure ou plus appropriée pour stocker seulement une valeur de date que de créer une colonne de SmallDateTime et d'enregistrer SmallDateTime.Date dedans?

Chaque petit coup de pouce! :)

+3

Et votre version de SQL Server est ...? –

+3

Vous avez vu le type Date (uniquement) dans SQL 2008? 3 octets http://msdn.microsoft.com/en-us/library/bb630352(v=sql.100).aspx – StuartLC

+2

Quel environnement développez-vous dans lequel va être sensiblement affecté par quelques octets? – ThePower

Répondre

5

Cela dépend de la version de SQL Server que vous utilisez.

  • 2008+: Date
  • 2008-: SmallDateTime

Bien que, si vous regardez le documentation for smalldatetime, ils utilisent un nombre entier de deux octets pour la date et entier de deux octets pour le temps, donc vous pourriez probablement répliquer leur comportement et juste stocker un entier de deux bytes (smallint) et ensuite utiliser DateAdd pour ajouter le nombre de jours depuis 1900/1/1 si la taille est vraiment cela important dans ce scénario.

Questions connexes