设计了一个表ABC
其中有DATETIME型字段 a 和DATETIME 型字段 b
要将 字段 b 设为 字段 a所表示的时间往后推迟2个月
例如:若a字段中的数据为2006年11月8日,则b字段数据应为2007年1月8日。请问这个怎么搞,有什么函数可以用吗?

解决方案 »

  1.   

    select dateadd(month,2,getdate())
      

  2.   

    select dateadd(mm,字段b,字段a) from 表ABC
      

  3.   

    update 表ABC 
     set 字段b=dateadd(mm,2,字段a)
      

  4.   

    谢谢大家,那么具体在写insert 语句的时候应该怎么写呢?
    datetime dzrq=此处省略
    如果写insert into abc(a,b) values(dzrq,dateadd(mm,2,dzrq))
    执行的时候为什么提示错误:在此上下文中不允许使用 'dzrq'。此处只允许使用常量、表达式或变量。不允许使用列名。
      

  5.   

    insert into abc(a,b) select dzrq,dateadd(mm,2,dzrq)
      

  6.   

    USE pubs
    SELECT DATEADD(day, 3, pubdate)
    FROM titles
    USE pubs
    SELECT DATEDIFF(day, pubdate, 'Nov 30 1995')
    FROM titles
    DATEADD 具有确定性 
    DATEDIFF 具有确定性 
    DATENAME 不具有确定性 
    DATEPART 除了用作 DATEPART (dw, date) 外都具有确定性。dw 是工作日的日期部分,取决于由设置每周第一天的 SET DATEFIRST 所设置的值。 
    DAY 具有确定性 
    GETDATE 不具有确定性 
    GETUTCDATE 不具有确定性 
    MONTH 具有确定性 
    YEAR 具有确定性