日付型の最小値はどれでしょう?
(1) 0001 年 1 月 1 日
(2) 1753 年 1 月 1 日
(3) 1900 年 1 月 1 日
正解は・・・・(反転させてくださいね)
どれも正解です。
(1) System.DateTime 型
(2) T-SQL DateTime
(3) T-SQL SmallDateTime
でした。
いかがでしょうか、この微妙なアレが、どっちを優先するだとか、
いろいろ問題になってくるわけで・・・
まとめるとこんな感じですね。(時間まで書いてませんが)
型 |
最小値 |
最大値 |
タイマ刻み |
System.DateTime |
0001 年 1 月 1 日 |
9999 年 12 月 31 日 |
100 ナノ秒 (0.0000001 秒) |
T-SQL DateTime |
1753 年 1 月 1 日 |
9999 年 12 月 31 日 |
3.33... ミリ秒(0.0033333 秒) |
T-SQL SmallDateTime |
1900 年 1 月 1 日 |
2079 年 6 月 6 日 |
1 分 (60 秒)
|
実際の、DateTimeの最小値は、DateTime.MinValue フィールドの値
0001 年 1 月 1 日の 00:00:00.0000000
となります。
MSDNのリンク
DateTime.MinValue フィールド
http://msdn.microsoft.com/ja-jp/library/system.datetime.minvalue.aspx
DateTime 構造体
http://msdn.microsoft.com/ja-jp/library/system.datetime.aspx
System.DateTime メソッド (LINQ to SQL)
http://msdn.microsoft.com/ja-jp/library/bb882657.aspx