这个错在那里
CREATE function ip(@ipvalue varchar(20))
returns varchar(20)
begin
declare @ip1 decimal
declare @ip2 decimal
declare @ip3 decimal
declare @ip4 decimal
declare @ip1d bigint
declare @ip2d bigint
declare @ip3d bigint
declare @ipl bigint
declare @ip varchar(25)
set @ip1d=charindex('.',@ipvalue)
set @ip1=left(@ipvalue,@ip1d-1)
set @ip2d=charindex('.',right(@ipvalue,(len(@ipvalue)-@ip1d)))+@ip1d
set @ip2=substring(@ipvalue,(@ip1d+1),(@ip2d-@ip1d-1))*255*255
set @ip3d=charindex('.',right(@ipvalue,(len(@ipvalue)-@ip2d)))+@ip2d
set @ip3=substring(@ipvalue,(@ip2d+1),(@ip3d-@ip2d-1))*255
set @ip4=substring(@ipvalue,(@ip3d+1),(len(@ipvalue)-@ip3d))
set @ip=@ip1*255*255*255+@ip2+@ip3+@ip4
return @ip
end
请高手指点
问题点数:100、回复次数:2Top
1 楼xczhouyang()回复于 2004-12-02 16:47:58 得分 100
CREATE function ip(@ipvalue varchar(20))
returns varchar(20)
begin
declare @ip1 decimal
declare @ip2 decimal
declare @ip3 decimal
declare @ip4 decimal
declare @ip1d bigint
declare @ip2d bigint
declare @ip3d bigint
declare @ipl bigint
declare @ip varchar(25)
set @ip1d=charindex('.',@ipvalue)
set @ip1=left(@ipvalue,@ip1d-1)
set @ip2d=charindex('.',right(@ipvalue,(len(@ipvalue)-@ip1d)))+@ip1d
set @ip2=substring(@ipvalue,(@ip1d+1),(@ip2d-@ip1d-1))*255*255
set @ip3d=charindex('.',right(@ipvalue,(len(@ipvalue)-@ip2d)))+@ip2d
set @ip3=substring(@ipvalue,(@ip2d+1),(@ip3d-@ip2d-1))*255
set @ip4=substring(@ipvalue,(@ip3d+1),(len(@ipvalue)-@ip3d))
set @ip=@ip1*255*255*255+@ip2+@ip3+@ip4
return @ip
end
我觉得没有错吗Top
2 楼znjgress(四空和尚)回复于 2004-12-02 16:51:26 得分 0
firstTop




