PostgreSQL中将IP地址转换成整数保存的代码
Postgresql中将IP地址转换成整数保存的代码,Postgresql本身并不带类似的转换函数,只能自己通过split_part之类的方法进行分割转换,还在代码并不复杂。
CREATEFUNCTIONip2int(text)RETURNSbigintAS$$
SELECTsplit_part($1,'.',1)::bigint*16777216+split_part($1,2)::bigint*65536+
split_part($1,3)::bigint*256+split_part($1,4)::bigint;
$$LANGUAGEsqlIMMUTABLERETURNSNULLONNULLINPUT;
select * from "IPSubnet" where "Status"='A' and ip2int("StartIp")< ip2int('220.181.64.129') and ip2int(host("EndIP")) > ip2int