SQL Server 2005-如何在SQL Server用户自订函数中调用GetDate()函数
2006-10-11 10:02
357 查看
您可以在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
![](http://images.cnblogs.com/cnblogs_com/liminzhang/061011-1.png)
图表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 执行个体名称。
-- 建立一个 UDF now()
CREATE FUNCTION dbo.now()
RETURNS DATETIME
AS
BEGIN
RETURN (GETDATE());
END;
GO
-- 测试看看是否真的有成功
SELECT dbo.now();
GO
-- 既然已经测试成功了,就可以移除
DROP FUNCTION dbo.now;
GO
![](http://images.cnblogs.com/cnblogs_com/liminzhang/061011-1.png)
图表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 执行个体名称。
相关文章推荐
- SQL Server 2005-如何在SQL Server用户自订函数中调用GetDate()函数
- SQLServer2005-如何在SQLServer用户自订函数中调用GetDate()函数
- SQL Server 2005的sa用户密码如何修改?
- SQL server 2005 调用自定义函数
- 如何查看SQL Server 2005使用with encryption 加密的存储过程或触发器,函数
- [代码]如何以内联方式调用用户定义的函数(LINQ to SQL)
- sql server 关于函数中如何使用Getdate() (转贴)
- 如何在不提升用户权限的情况下,使普通用户执行xp_cmdshell存储过程2008-11-26 14:09:29SQL Server 2005 及之后的版本
- 在 SQl SERVER 2005中调用当前用户ID
- 如何解决“sql 2005 用户sa 登录失败,该用户与可信SQL Server连接无关联”
- sql server 2005中使用apply对每行调用表值函数
- SQL Server 2005 - 如何在预存程序中调用另外一个预存程序
- 一个aspx页面有2个按钮,都是服务器控件,服务器上的DLL如何知道用户点击了哪个按钮,从而按钮的事件函数被调用
- 如何解决Sql Server 2005数据库备份还原后出现“受限制用户”
- SQL Server 2005 - 如何在预存程序中调用另外一个预存程序
- SQL Server 2005: 如何让用户只能加密数据却不能解密数据
- 如何调用在$(function(){ //内部函数代码 });
- SQL Server 2005控制用户权限访问表
- 在类外定义的函数,被成员函数调用时,报运行时错误error LNK2005:已经在 classinfo.obj 中定义
- .net 调用 sql server 自定义函数,并输出返回值