正常大家平时所见的IP地址通常是用点号(.)分割的四组数字,例如:192.168.0.100,但是做通信行业的朋友可能会比较习惯在数据库表中存储长整型(long)数字,以方便查询比较和节约存储。

如果采用这种方式,那么会经常遇到在点号分割传和长整型之间的转换,在Greenplum中,我们可以通过下面两个函数实现二者之间的轻松转换:

函数主体为:

CREATE OR REPLACE FUNCTION inet_aton(text)RETURNS bigint AS
$BODY$
SELECT
split_part($1,'.',1)::int8*(256*256*256)+
split_part($1,'.',2)::int8*(256*256)+
split_part($1,'.',3)::int8*256+
split_part($1,'.',4)::int8;
$BODY$LANGUAGE sql VOLATILE;
CREATE OR REPLACE FUNCTION inet_ntoa(bigint)RETURNS text AS
$BODY$
SELECT (($1>>24) & 255::int8) || '.' ||
(($1>>16) & 255::int8) || '.' ||
(($1>>8) & 255::int8) || '.' ||
($1 & 255::int8) as result
$BODY$LANGUAGE sql VOLATILE;

使用演示:

postgres=# select inet_aton('192.168.100.107');inet_aton
------------3232261227
(1 row)postgres=# select inet_ntoa(3232261227);inet_ntoa
-----------------192.168.100.107
(1 row)

Greenplum小把戏 - ip地址表达方式转换函数相关推荐

  1. 华为机考攻略(python)--字符串操作【9题】(第四题*HJ33整数与IP地址间的转换)

    系列文章目录 文章目录 系列文章目录 前言 一.*HJ33整数与IP地址间的转换 二.sound code 总结 前言 一.*HJ33整数与IP地址间的转换 描述: 原理:ip地址的每段可以看成是一个 ...

  2. C练题笔记之:牛客-HJ033.整数与IP地址间的转换

    题目: 描述 原理:ip地址的每段可以看成是一个0-255的整数,把每段拆分成一个二进制形式组合起来,然后把这个二进制数转变成 一个长整数. 举例:一个ip地址为10.0.3.193 每段数字     ...

  3. 牛客网--整数与IP地址间的转换

    题目描述 原理:ip地址的每段可以看成是一个0-255的整数,把每段拆分成一个二进制形式组合起来,然后把这个二进制数转变成 一个长整数. 举例:一个ip地址为10.0.3.193 每段数字       ...

  4. IP地址与二进制转换

    IP地址与二进制转换 子网掩码 子网掩码是一种用来指明一个IP地址的哪些位标识的是主机所在的子网,以及哪些位标识的是主机的位掩码.它的作用是将IP地址分为网络地址和主机地址两部分.子网掩码可以确定子网 ...

  5. 华为机试HJ33:整数与IP地址间的转换

    作者:翟天保Steven 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处 题目描述: 原理:ip地址的每段可以看成是一个0-255的整数,把每段拆分成一个二进制形式组合起 ...

  6. 网络攻击知识之几种IP地址攻击方式

    网络攻击知识之几种IP地址攻击方式 作者:hackmaster 来源:赛迪网安全社区 1.OOB攻击 这是利用NETBIOS中一个OOB (Out of Band)的漏洞而来进行的,它的原理是通过TC ...

  7. 计算机网络 王道考研2021 第四章:网络层 -- lPv4地址、私有IP地址、网络地址转换 (NAT)、WAN / LAN

    文章目录 1. lPv4地址 1.1 IP地址 1.2 IP编址的历史阶段 1.3 分类的IP地址 1.4 互联网中的IP地址 1.5 特殊lP地址:不能作为主机或者路由器的具体接口标识 1.6 私有 ...

  8. IP地址跨网段转换-无需网关

    IP地址跨网段转换-不需要PLC网关配置 应用场景: 多个工业现场设备的IP地址出厂默认设置(IP地址一样),或者设备的IP地址不在同一个网段,需要将这些设备的IP地址转换成同一网段的独立的IP地址, ...

  9. 整数与IP地址间的转换Python

    data = input().split(".") #IP地址转整数 a = [] b = '' caozuo = [a.append(bin(int(i))[2:].rjust( ...

  10. 【Eigen和tf中位姿表达方式转换】【tf::StampedTransform】【Eigen::Matrix4f】

    [tf的使用][Eigen和tf中位姿表达方式转换][tf::StampedTransform][Eigen::Matrix4f] 0 前言 1 tf::StampedTransform<--& ...

最新文章

  1. 后端开挂:3行代码 = 8个接口
  2. 报错:org.apache.hadoop.hive.metastore.HiveMetaException: Failed to get schema version.
  3. IT新人如何快速成长
  4. python字典新的定义方式
  5. Scala中映射的语法(对应Java中的Map集合的定义)
  6. 《软件项目管理(第二版)》第 1 章——概述 重点部分总结
  7. 蚂蚁上市或诞生近60位亿万富翁;特斯拉回应25万元团购Model3;Python 3.8.5 发布| 极客头条
  8. android打开相机拍照及打开相册选择照片
  9. Qt 之 QQ系统表情(四)
  10. 各种图片格式的图片清晰程度排序
  11. 年度回顾:短视频大逃杀
  12. 用纯CSS实现八卦太极图
  13. Hexo even主题博客配置
  14. 尺度不变特征转换(Scale-invariant feature transform 或 SIFT)
  15. K.论演员的自我修养---组合数的运用路径计数
  16. 《出版专业基础》2015年版(初级)思考与练习 第六章
  17. k8s入门:部署应用到 k8s 集群
  18. 电脑显示无法加载远程访问连接管理服务器,Win7系统宽带连接出现错误711无法加载远程访问连接管理器服务如何解决?...
  19. C/C++ 链 表 头插法 尾插法
  20. 大众点评网的网站架构

热门文章

  1. 常量和常变量(const)
  2. Ubuntu(Linux)使用微信的方法
  3. WP Super Cache远程代码执行漏洞分析
  4. 中南大学计算机复试分数线,2019年中南大学考研复试分数线
  5. node重绘图片_使用nodejs生成图片的尝试
  6. Python学习,接上篇文章的50道基础入门练习题(附答案)
  7. 把阿拉伯数字全部转换为大写(1,2,3.... = 一、二、三、)
  8. 如何通过域名访问web项目
  9. Datahero inc智能合约技术重塑供应链金融模式
  10. jenkins k8s 动态增减 jenkins-salve (1) 制作部署jenkins-master 镜像