datetime类型的加法运算的规律是什么啊?。  
              貌似不同于一般的加法理解哦~~  例如:declare @a datetime,@b datetime
set @a='2008-05-15' 
set @b='2008-05-10'
select  @a,@b,@a+@b,@a-@b
                @a                         @b                    @a+@b              @a-@b  
结果为:2008-05-15 00:00:00.000 2008-05-10 00:00:00.000 2116-09-22 00:00:00.000 1900-01-06 00:00:00.000  结果看不明白,难道是上下限日期吗?  
                 望高手赐教~~~~

解决方案 »

  1.   

    日期加减日期,用datediff
      

  2.   

    1. 0='1900-01-01';
    2. 计算两个datetime变量的时间差用datediff(),通过第一个参数控制时间单位:
       year -- 年份
       month -- 月份
       week -- 周
       day -- 日
       hour
       minute
       second
       ...;
    3. dateadd()于datediff()函数相仿,操作相反,第一个参数含义相同;
    4. 一个datetime变量与一个整数n进行加减操作结果为在该日期时间上增加或减少n日;
      

  3.   

    使用 datetime 数据类型存储从 1753 年 1 月 1 日至 9999 年 12 月 31 日的日期(每个数值要求 8 个字节的存储空间)
    使用 smalldatetime 数据类型存储从 1900 年 1 月 1 日至 2079 年 6 月 6 日的日期(每个数值要求 4 个字节的存储空间)
      

  4.   

    datetime型实际上是int型,只不过是以1900-1-1为分界线的。