可以用:例如:
create function mygetdate()
return datetime as
begin
  return(getdate())
end

解决方案 »

  1.   

    不行啊,你执行一下上面的代码试试,返回以下错误:
    服务器: 消息 443,级别 16,状态 1,过程 mygetdate,行 4
    在函数内不正确地使用了 'getdate'。
      

  2.   

    不好意思,刚才那个不能通过,要这样子:
    create view dbo.abc
    as
      select getdate() as adatecreate function dbo.mygetdate()
    returns datetime as
    begin
      declare @d datetime
      select @d=adate from dbo.abc
      return(@d)
    end
      

  3.   

    在函数里边不能使用getdate() ,为什么不用存储过程,一样可以返回值啊
    如果是要在查询中使用的话,就直接在查询语句中使用getdate(),不需要使用一个函数来返回它.
    如:
    select fd1,fd2,getdate() as CurrDate from tbname
      

  4.   

    不过你实在要用,就用视图取值的方法。create view dbo.abc
    as
      select getdate() as adatecreate function dbo.mygetdate()
    returns datetime as
    begin
      declare @d datetime
      select @d=adate from dbo.abc
      return(@d)
    endselect dbo.mygetdate()  --结果=select getdate()
      

  5.   

    用户定义函数中不允许使用会对每个调用返回不同数据的内置函数。用户定义函数中不允许使用以下内置函数:@@CONNECTIONS
    @@PACK_SENT GETDATE 
    @@CPU_BUSY 
    @@PACKET_ERRORS 
    GetUTCDate() 
    GetDate() 
    @@IDLE 
    @@TIMETICKS NEWID 
    @@IO_BUSY
    @@TOTAL_ERRORS RAND 
    @@MAX_CONNECTIONS
    @@TOTAL_READ TEXTPTR 
    @@PACK_RECEIVED
    @@TOTAL_WRITE   
     NEWID ()
    RAND()