SQL Server 2005-如何在SQL Server用户自订函数中调用GetDate()函数

王朝mssql·作者佚名  2008-05-30
窄屏简体版  字體: |||超大  

您可以在SQL Server 2005的使用者自订函数(UDFs:User Defined Functions)中呼叫使用GetDate() 函数,下列这个范例程序即是一例:

-- 建立一个 UDF now()

CREATE FUNCTION dbo.now()

RETURNS DATETIME

AS

BEGIN

RETURN (GETDATE());

END;

GO

-- 测试看看是否真的有成功

SELECT dbo.now();

GO

-- 既然已经测试成功了,就可以移除

DROP FUNCTION dbo.now;

GO

图表1

SQL Sever 2005是微软花费了近五年时间,动用大批人员才完成的旷世巨作,因此很多SQL Server 2005独有的功能,在旧版的SQL Server无法使用,比方说,上述的程序代码在SQL Server 2000上执行便会有问题(如图表1所示),因为GETDATE() 函数会传回不同的日期时间,此时,请改用下列程序代码:

-- 设定 SQL Server 选项,使其允许加入linked server

EXEC sp_serveroption '<您的SQL Server 名称>', 'DATA access', TRUE

GO

-- 建立 UDF

CREATE FUNCTION dbo.now()

RETURNS DATETIME

AS

BEGIN

DECLARE @dt DATETIME

SELECT @dt = dt

FROM OPENQUERY

(

<您的SQL Server 名称>, 'SELECT dt = GETDATE()'

)

RETURN @dt

END

GO

-- 测试一下吧

SELECT dbo.now()

GO

-- 测试成功,就可以将其移除

DROP FUNCTION now

GO

请注意:请将程序代码中 <您的SQL Server 名称> 换掉,以符合您实际环境的 SQL Server 执行个体名称。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航