您
能够在
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 执行个体名称。