根据朋友提供的一个getIP函数,将ip都变为3位的(不够前面补0)
例如:218.25.70.62 -> 218.025.070.062CREATE function getIP(@a varchar(15))
returns varchar(15)
As
begin
declare @s varchar(15)
set @s =''
while charindex('.',@a) > 0
begin
set @s = @s + right('000' + left(@a,charindex('.',@a)),4)
set @a = right(@a,len(@a)-charindex('.',@a))
end
set @s = @s + right('000' + @a,3)
return @s
endselect ip from iparea where id=3
Select dbo.getIP('218.25.70.62')
Select dbo.getIP((select ip from iparea where id=3))结果不同:
218.25.70.62
218.025.070.062
218.025.070.62为什么dbo.getIP('218.25.70.62') 没有问题,一但加入查询dbo.getIP((select ip from iparea where id=3))得出的最后一组是218.025.070.62
例如:218.25.70.62 -> 218.025.070.062CREATE function getIP(@a varchar(15))
returns varchar(15)
As
begin
declare @s varchar(15)
set @s =''
while charindex('.',@a) > 0
begin
set @s = @s + right('000' + left(@a,charindex('.',@a)),4)
set @a = right(@a,len(@a)-charindex('.',@a))
end
set @s = @s + right('000' + @a,3)
return @s
endselect ip from iparea where id=3
Select dbo.getIP('218.25.70.62')
Select dbo.getIP((select ip from iparea where id=3))结果不同:
218.25.70.62
218.025.070.062
218.025.070.62为什么dbo.getIP('218.25.70.62') 没有问题,一但加入查询dbo.getIP((select ip from iparea where id=3))得出的最后一组是218.025.070.62
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货