web-dev-qa-db-fra.com

Différence entre date / heure et horodatage dans sqlserver?

Quelle est la différence entre Timestamp et Datetime SQL Server?

Je pensais que les deux formats sont capables de stocker la date et l'heure. Alors, où est la différence entre eux?

Mais Timestamp n'est pas capable de stocker la date et l'heure.

Toujours Quelle est la différence?

96
MduSenthil

D'après la documentation , timestamp est un synonyme de rowversion - il est généré automatiquement et garanti 1 être unique. datetime n'est pas - c'est juste un type de données qui gère les dates et les heures, et peut être spécifié par le client lors de l'insertion, etc.


1 En supposant que vous l'utilisez correctement, bien sûr. Voir les commentaires.

109
Jon Skeet

Datetime est un type de données.

L'horodatage est une méthode de gestion des versions de lignes. En fait, dans SQL Server 2008, ce type de colonne a été renommé (c'est-à-dire que l'horodatage est déconseillé) en rowversion. Cela signifie fondamentalement que chaque fois qu'une ligne est modifiée, cette valeur est augmentée. Ceci est fait avec un compteur de base de données qui augmente automatiquement pour chaque ligne insérée ou mise à jour.

Pour plus d'informations:

http://www.sqlteam.com/article/timestamps-vs-datetime-data-types

http://msdn.Microsoft.com/en-us/library/ms182776.aspx

16
Andreas Ågren