收录日期:2019/03/26 02:58:07 时间:2016/05/31 07:15:24 标签:ASP.NET
create FUNCTION [dbo].[setSP] ()
RETURNS datetime  AS  
begin
Declare @date datetime
      .....

set @date= getdate()
      .....
return @date
end

出现如下错误
在函数内不正确地使用了 'getdate'。
怎么解决?
DECLARE NVARCHAR(20) @Date
   
         SET @Date = CONVERT(NVARCHAR(20),GetDate(),120)
I did briefly discuss of using non-determinitic functions in UDF is not possible. But there have been tons of questions in newsgroups asking why they cannot use getdate() in their UDF. Understand that getdate() is a built-in UDF which is non-determinitic in nature. But there are workarounds for the same. See the example below :

CREATE VIEW CurrentDate AS SELECT Date = GETDATE()
GO
CREATE FUNCTION myFunction () RETURNS DATETIME AS
BEGIN
   DECLARE @myDateTime DATETIME
   SELECT @myDateTime = Date FROM CurrentDate
   RETURN (@myDateTime)
END
GO
SELECT dbo.myFunction()
GO
应为function内部不允许使用
函数可以是确定的或不确定的。如果任何时候用一组特定的输入值调用函数时返回的结果总是相同的,则这些函数为确定的。如果每次调用函数时即使用的是相同的一组特定输入值,返回的结果总是不同的,则这些函数为不确定的。

不确定的函数会产生副作用。副作用是更改数据库的某些全局状态,比如更新数据库表或某些外部资源,如文件或网络等(例如,修改文件或发送电子邮件消息)。

不允许在用户定义函数主体中内置不确定函数;这些不确定函数如下:

@@CONNECTIONS @@TOTAL_ERRORS 
@@CPU_BUSY @@TOTAL_READ 
@@IDLE @@TOTAL_WRITE 
@@IO_BUSY GETDATE 
@@MAX_CONNECTIONS GETUTCDATE 
@@PACK_RECEIVED NEWID 
@@PACK_SENT RAND 
@@PACKET_ERRORS TEXTPTR 
@@TIMETICKS   

hibernate Date Exception 格式转换问题 新人求助~ 该不该去这家公司啊? 使用SQL 展开BOM Asp.net文件监视 写了一个播放器程序,而我的电脑已经安装了千千静听,如何编程设置注册表,让我能双击mp3文件就用自己的播放器打开它? 双链表里的一个赋值问题 手机开发语言的选择? 问题。 麻烦高手改下代码。非常感谢 动态输入问题 socket如何提交表单到https? jMenu 用什么方法可以查询是否可用(灰色) 问题又来了,关于Listview 就业还是考博? 机器视觉开发团队承接项目 请问我做的对不对啊~~~ vc ++2008 在vista系统里怎么用啊,不会教程!! 老大救救啦 -- 关于双机热备 tomcat6 如何重启的问题 c++ 一个被负值过的int全局变量突然变成空值 机器视觉开发团队承接项目 神州数码金程公司怎么样 有PHP高手请加我 include dirname(__FILE__).\'/include/global.php\';为什么ECSHOP的可以,但是我的却不可以? 谁能给点有关geexbox的资料? 上海地区 散布个兼职 为什么 如何获得访问者系统使用的语言 问一个关于C#正则表达式问题,谢谢. Panel是swing的构件吗?