SQL Server 和 .net 对时间的大小范围定义
http://blog.joycode.com/ghj/archive/2006/01/24/70793.aspx
SQL Server smalldatetime 数据类型
最小时间为 1900年1月1日
最大时间为 2079年6月6日
SQL Server datetime 数据类型
最小时间为 1753年1月1日
最大时间为 9999年12月31日
.net System.DateTime 数据类型
最小时间为 0001 年 1 月 1 日 00:00:00.0000000
最大时间为 9999 年 12 月 31 日 23:59:59.9999999
所以我们在对这些数据作转换时候,一定要注意这些范围,否则就会产生类似下面的异常:
System.Data.SqlClient.SqlException: 从 datetime 数据类型到 smalldatetime 数据类型的转换导致 smalldatetime 溢出错误。