PostgreSQL中将IP地址转换成整数保存的代码

Postgresql中将IP地址转换成整数保存的代码,Postgresql本身并不带类似的转换函数,只能自己通过split_part之类的方法进行分割转换,还在代码并不复杂。

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;
 
 
//该代码片段来自于: http://www.sharejs.com/codes/sql/8678

假设 www.sharejs.com 的ip地址为200.233.1.2,则将200.233.1.2转换成整数的结果如下:
SELECT ip2int('200.233.1.2');
>> 3370713346


原文转自:脚本分享http://www.sharejs.com/codes/sql/8678

相关文章

来源:http://www.postgres.cn/docs/11/ 4.1.1. 标识符和关键词 SQL标识符和关键词必须以一个...
来源:http://www.postgres.cn/docs/11/ 8.1. 数字类型 数字类型由2、4或8字节的整数以及4或8...
来源:http://www.postgres.cn/docs/11/ 5.1. 表基础 SQL并不保证表中行的顺序。当一个表被读...
来源:http://www.postgres.cn/docs/11/ 6.4. 从修改的行中返回数据 有时在修改行的操作过程中...
来源:http://www.postgres.cn/docs/11/ 13.2.1. 读已提交隔离级别 读已提交是PostgreSQL中的...
来源:http://www.postgres.cn/docs/11/ 9.7. 模式匹配 PostgreSQL提供了三种独立的实现模式匹...