PostgreSQL ip地址 查詢

 PostgreSQL中將IP地址轉換成整數保存的代碼               

PostgreSQLip地址ip轉整數ip轉換

PostgreSQL中將IP地址轉換成整數保存的代碼,PostgreSQL本身並不帶類似的轉換函數,只能自己通過split_part之類的方法進行分割轉換,還在代碼並不複雜。

第一步:建立ip2int函數

CREATE FUNCTION ip2int(text) RETURNS bigint AS $$  

SELECT split_part($1,'.',1)::bigint*16777216 + split_part($1,'.',2)::bigint*65536 +  

 split_part($1,'.',3)::bigint*256 + split_part($1,'.',4)::bigint;  

$$ LANGUAGE SQL  IMMUTABLE RETURNS NULL ON NULL INPUT; 

第二步:用創建好的ip2int函數,查詢ip

select * from "IPSubnet" where "Status"='A' and ip2int("StartIp")< ip2int('220.181.64.129') and ip2int(host("EndIP")) > ip2int



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章