正常大家平时所见的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. docker安装、源、网络
  2. OPC的数据访问方法分别有同步访问、异步访问和订阅式
  3. java11模块化开发_【JDK 11】关于 Java 模块系统,看这一篇就够了
  4. Linux 常用命令二 pwd cd
  5. python网站框架下载_最受欢迎的7款Python开源框架总结,忍不住收藏了~
  6. HCIE Security 防火墙反病毒 备考笔记(幕布)
  7. springmvc返回json字符串中文乱码问题
  8. 当下主流的数据库及其特点
  9. 查询结果按中文拼音顺序排序
  10. 苹果蒸发639亿 华尔街陷入苹果需求全恐慌模式
  11. 索尼手机android怎么连,索尼WI-SP500耳机连接安卓手机蓝牙的方法讲解
  12. 360校招笔试算法题
  13. 糯米网电子商务模式:上线当天销售额600多万元的缘由
  14. 单目标跟踪SiamMask:特定目标车辆追踪 part2
  15. Django和Flask区别
  16. esp8266-01s控制继电器开关
  17. 下一代Linux文件系统,存储那些事儿(二): 下一代Linux文件系统BTRFS简介
  18. python3 paramiko 远程执行 ssh 命令、上传文件、下载文件
  19. 计算机网络(二):HTTP 和 HTTPS
  20. 【RPA入门教程】UiBot数据抓取功能使用教学(二)

热门文章

  1. python爬取招聘网信息并保存为csv文件
  2. Go语言aes加密解密处理
  3. 拉卡拉支付——综合普惠金融科技平台
  4. OPPO以数字普惠金融助力小微企业
  5. java脚本引擎Rhino 入门
  6. ubuntu18.04加nvidia显卡安装在华硕笔记本上gx1050ti(飞行堡垒fx8)+cuda+cudnn+ttensorflow+keras
  7. Springboot物理地址映射和Nginx静态资源代理实现前端上传并访问服务器图片
  8. sucess - money - freedom
  9. 狼性教育——让孩子成为主宰命运地强者
  10. 离散数学_集合论部分_总结