datetimeとsmalldatetimeの違い

datetimeとsmalldatetimeはどちらもSQL Serverの 날짜시간 형식이며, その違いは以下の通りです。

  1. ストレージの範囲:datetime型は、精度がミリ秒で1753年1月1日から9999年12月31日まで日時を格納できますが、smalldatetime型は、精度が分で1900年1月1日から2079年6月6日まで日時を格納できます。したがって、smalldatetime型の格納範囲の方が小さくなりますが、占有するストレージサイズも小さくなります。
  2. 格納領域のサイズ:datetime 型は 8 バイト、smalldatetime 型は 4 バイトの格納領域を使用します。smalldatetime 型が格納するのは日付と時刻のデータのみであり、ミリ秒の精度はないためです。
  3. DATETIME型の精度はミリ秒単位なので、より正確な時間を表現できます。一方、SMALLDATETIME型の精度は分単位のため、ミリ秒単位の正確な時間は表現できません。
  4. 既定値は、datetime 型は 1753 年 1 月 1 日、smalldatetime 型は 1900 年 1 月 1 日です。
  5. ミリ秒単位での正確な時間の計算や記録が必要な取引履歴やログ記録などにdatetime型が利用されるのに対し、ミリ秒単位の精度が必要ない会議の日時や誕生日などの記録にはsmalldatetime型が利用されます。

datetime型のフィールドはミリ秒まで正確な時刻の計算や記録が必要な場合に使用し、smalldatetime型のフィールドはミリ秒まで正確な時刻を記録する必要がなく、格納スペースを節約する場合に使用します。

bannerAds