sql準確判斷某個ip
阿新 • • 發佈:2017-05-12
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