web-dev-qa-db-ja.com

sqlserverの日時とタイムスタンプの違いは?

TimestampDatetime SQL Serverの違いは何ですか?

どちらの形式も日付と時刻を保存できると思いました。次に、それらの違いはどこにありますか?

ただし、Timestampは、日付と時刻の情報を保存できません。

それでも違いは何ですか?

92
MduSenthil

ドキュメント によると、timestamprowversionの同義語です-それは自動的に生成され、guaranteed1 ユニークであること。 datetimeは-日付と時刻を処理する単なるデータ型であり、挿入などでクライアントが指定できます。


1 もちろん、適切に使用すると仮定します。コメントを参照してください。

105
Jon Skeet

日時はデータ型です。

タイムスタンプは、行のバージョン管理の方法です。実際、SQL Server 2008では、この列タイプはrowversionに名前が変更されました(つまり、タイムスタンプは非推奨です)。基本的に、行が変更されるたびに、この値が増加することを意味します。これは、挿入または更新された行ごとに自動的に増加するデータベースカウンターを使用して行われます。

詳細については:

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

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

16
Andreas Ågren