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

可以在SQL Server 2005的使用者自UDFsUser 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 执行个体名称。

posted on 2006-10-11 10:02  章立民研究室  阅读(3377)  评论(2编辑  收藏  举报

导航