SQL SERVER用户自定义函数的创建和使用

本文介绍如何在SQL Server中创建用户自定义函数,并提供了一个将IP地址转换为BigInt类型的函数示例。此外,还说明了如何调用这些自定义函数。
SQL SERVER的用户自定义函数可以在T-SQL中自由使用,就像其内建的系统函数一样,如字符串函数CHARINDEX(),数据类型转换函数CAST()和CONVERT()等。
用户自定义函数的创建:
在“企业管理器->数据库->用户自定义函数”下面,点右键创建新的自定义函数,和创建存储过程类似:
这是一个将IP地址转换成BigInt的函数:
CREATE FUNCTION GetIPNumber ( @ip varchar(20) ) Returns bigint
AS
BEGIN
declare @lastpointplace int
declare @curpointplace int
declare @ip1 bigint
declare @ip2 int
declare @ip3 int
declare @ip4 int
set @lastpointplace=0
set @curpointplace=0
set @curpointplace=charindex('.',@ip,@lastpointplace+1)
set @ip1=convert(int,substring(@ip,@lastpointplace+1,@curpointplace-@lastpointplace-1))
set @lastpointplace=@curpointplace
set @curpointplace=charindex('.',@ip,@lastpointplace+1)
set @ip2=convert(int,substring(@ip,@lastpointplace+1,@curpointplace-@lastpointplace-1))
set @lastpointplace=@curpointplace
set @curpointplace=charindex('.',@ip,@lastpointplace+1)
set @ip3=convert(int,substring(@ip,@lastpointplace+1,@curpointplace-@lastpointplace-1))
set @lastpointplace=@curpointplace
set @ip4=convert(int,substring(@ip,@lastpointplace+1,len(@ip)-@lastpointplace))
return @ip1*256*256*256+@ip2*256*256+@ip3*256+@ip4
END
在SQL SERVER中调用自定义函数时,有一点需要注意,必须在自定义函数前加上创建此函数的用户,如:
select dbo.GetIPNumber('222.111.111.255')
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值