1. 程式人生 > >sql準確判斷某個ip

sql準確判斷某個ip

spa .com div 執行 values png cti ret var

問題:如圖

技術分享

當我執行sql要準確查找某個IP是屬於哪個庫室時候,我剛開始是這樣寫的

select * from Definition_Read_Room where HFIP like %172.20.139.71%

然後這樣來查會出現一個問題,當查找的是172.20.139.7這個ip時候,如果HFIP裏面存在

172.20.139.71或則172.20.139.712等的,會不能準確的找到該IP詳細屬於哪個庫室,所以需要寫一個sql函數,如下:

create function f_split(@c varchar(2000),@split varchar(2)) 
returns @t table(col varchar(
20)) as begin while(charindex(@split,@c)<>0) begin insert @t(col) values (substring(@c,1,charindex(@split,@c)-1)) set @c = stuff(@c,1,charindex(@split,@c),‘‘) end insert @t(col) values (@c) return end go

然後執行該函數,重新寫sql,如下:

select * from Definition_Read_Room where 172.20.139.71 in (select * from dbo.f_split(HFIP,,))

sql準確判斷某個ip