通过给定的一个日期,通过一种运算,得到一个正确的日期的值
比如:
date1=2002-8-30
计算date2=date+3
应正确得到date2=2002-9-2
(这里面要注意当时间由一个月份向另一个月份过度的时候)

解决方案 »

  1.   

    如果是DATETIME,直接加如果是字符型,CAST为DATETIME再直接加或用DATEADD函数也是可以的。
      

  2.   

    declare @date1 datetime,@date2 varchar(10)
    select @date1='2002-8-30',@date2='2002-8-30'select @date1+3 as date1,cast(@date2 as datetime)+3 as date2
    /*
    date1                   date2
    ----------------------- -----------------------
    2002-09-02 00:00:00.000 2002-09-02 00:00:00.000
    */--or select dateadd(dd,3,@date1) as date1,dateadd(dd,3,@date2) as date2
    /*
    date1                   date2
    ----------------------- -----------------------
    2002-09-02 00:00:00.000 2002-09-02 00:00:00.000
    */
      

  3.   

    是啊,用datetime类型,日期直接加就是按天加,用dateadd函数可以选择按天、月、年等
      

  4.   

    我觉得可以将一楼的SQL语句直接改成这样的形式
    declare @date1 datetime,@date2 varchar(10)
    set @date1='2002-8-30'
    select @date1+3  date1
    这样的精简形式,htl258对吗
      

  5.   

    是的declare @date1 datetime
    set @date1='2002-8-30'
    select @date1+3 date1