返回首页
当前位置: 主页 > SQL2005专题 > 基础知识 >

在SQL2005用户自订函数中调用GetDate()函数

时间:2008-03-23 11:46来源: 作者: 点击:
您可以在SQL Server 2005的使用者自订函数(UDFs:User Defined Functions)中呼叫使用 GetDate() 函数,下列这个范例程序即是一例: -- 建立一个 UDF now() CREATE FUNCTION dbo.now() RETURNS DATETIME AS BEGIN RETURN ( GETDATE() ); END; GO -- 测试看看是否真的
  
您可以在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 执行个体名称。
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
最新评论 查看所有评论
发表评论 查看所有评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
发布者资料
today 查看详细资料 发送留言 加为好友 用户等级:注册会员 注册时间:2008-02-27 10:02 最后登录:2008-12-25 09:12
推荐内容