想作个函数,就是自动将当前日期加一个1月
思路是将dateadd和getdate组合一下,结果老报错:在函数内不正确的使用getdate由于Getdate是不确定的,所以不能这样使用?
哪如何能实现我的目标呢?我只是想在设置字段默认值为当前日期加1个月

解决方案 »

  1.   

    function中是不能使用Getdate的,你要实现什么,并把代码贴出来.
      

  2.   

    SELECT DATEADD(M,1,GETDATE())很简单的,还要写函数?
      

  3.   

    alter table t1 add column_name datatype default(dateadd(month,1,getdate()))
      

  4.   

    create view v1 
    as 
    select getdate() as dates
    gocreate function f_getDate
    returns datetime
    as
    begin
        declare @re datetime
        select @re=dateadd(mm,1,dates) from v1
        return @re
    end
    goselect dbo.f_getDate()
    godrop function f_getDate
    drop view v1
    go
    go
    go
      

  5.   

    create view v1 
    as 
    select getdate() as dates
    gocreate function f_getDate
    returns datetime
    as
    begin
        declare @re datetime
        select @re=dateadd(mm,1,dates) from v1
        return @re
    end
    goselect dbo.f_getDate()
    godrop function f_getDate
    drop view v1
    go
      

  6.   

    函数里不能使用getdate等不确定函数这是规定,不合理也没办法
      

  7.   

    坚决反对用视图的方法,脱裤子放屁直接
    dateadd(month,1,getdate())写起来也不麻烦
      

  8.   

    create function f_date(@date datetime)
    returns datetime
    as 
    begin
      set @date=(select dateadd(mm,1,@date))
      return @date
    endgo
    select dbo.f_date(getdate())
      

  9.   

    咦?Bug,给的分不正确啊,只有80分