Greenplum小把戏 - ip地址表达方式转换函数
正常大家平时所见的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地址表达方式转换函数相关推荐
- 华为机考攻略(python)--字符串操作【9题】(第四题*HJ33整数与IP地址间的转换)
系列文章目录 文章目录 系列文章目录 前言 一.*HJ33整数与IP地址间的转换 二.sound code 总结 前言 一.*HJ33整数与IP地址间的转换 描述: 原理:ip地址的每段可以看成是一个 ...
- C练题笔记之:牛客-HJ033.整数与IP地址间的转换
题目: 描述 原理:ip地址的每段可以看成是一个0-255的整数,把每段拆分成一个二进制形式组合起来,然后把这个二进制数转变成 一个长整数. 举例:一个ip地址为10.0.3.193 每段数字 ...
- 牛客网--整数与IP地址间的转换
题目描述 原理:ip地址的每段可以看成是一个0-255的整数,把每段拆分成一个二进制形式组合起来,然后把这个二进制数转变成 一个长整数. 举例:一个ip地址为10.0.3.193 每段数字 ...
- IP地址与二进制转换
IP地址与二进制转换 子网掩码 子网掩码是一种用来指明一个IP地址的哪些位标识的是主机所在的子网,以及哪些位标识的是主机的位掩码.它的作用是将IP地址分为网络地址和主机地址两部分.子网掩码可以确定子网 ...
- 华为机试HJ33:整数与IP地址间的转换
作者:翟天保Steven 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处 题目描述: 原理:ip地址的每段可以看成是一个0-255的整数,把每段拆分成一个二进制形式组合起 ...
- 网络攻击知识之几种IP地址攻击方式
网络攻击知识之几种IP地址攻击方式 作者:hackmaster 来源:赛迪网安全社区 1.OOB攻击 这是利用NETBIOS中一个OOB (Out of Band)的漏洞而来进行的,它的原理是通过TC ...
- 计算机网络 王道考研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 私有 ...
- IP地址跨网段转换-无需网关
IP地址跨网段转换-不需要PLC网关配置 应用场景: 多个工业现场设备的IP地址出厂默认设置(IP地址一样),或者设备的IP地址不在同一个网段,需要将这些设备的IP地址转换成同一网段的独立的IP地址, ...
- 整数与IP地址间的转换Python
data = input().split(".") #IP地址转整数 a = [] b = '' caozuo = [a.append(bin(int(i))[2:].rjust( ...
- 【Eigen和tf中位姿表达方式转换】【tf::StampedTransform】【Eigen::Matrix4f】
[tf的使用][Eigen和tf中位姿表达方式转换][tf::StampedTransform][Eigen::Matrix4f] 0 前言 1 tf::StampedTransform<--& ...
最新文章
- 后端开挂:3行代码 = 8个接口
- 报错:org.apache.hadoop.hive.metastore.HiveMetaException: Failed to get schema version.
- IT新人如何快速成长
- python字典新的定义方式
- Scala中映射的语法(对应Java中的Map集合的定义)
- 《软件项目管理(第二版)》第 1 章——概述 重点部分总结
- 蚂蚁上市或诞生近60位亿万富翁;特斯拉回应25万元团购Model3;Python 3.8.5 发布| 极客头条
- android打开相机拍照及打开相册选择照片
- Qt 之 QQ系统表情(四)
- 各种图片格式的图片清晰程度排序
- 年度回顾:短视频大逃杀
- 用纯CSS实现八卦太极图
- Hexo even主题博客配置
- 尺度不变特征转换(Scale-invariant feature transform 或 SIFT)
- K.论演员的自我修养---组合数的运用路径计数
- 《出版专业基础》2015年版(初级)思考与练习 第六章
- k8s入门:部署应用到 k8s 集群
- 电脑显示无法加载远程访问连接管理服务器,Win7系统宽带连接出现错误711无法加载远程访问连接管理器服务如何解决?...
- C/C++ 链 表 头插法 尾插法
- 大众点评网的网站架构
热门文章
- 常量和常变量(const)
- Ubuntu(Linux)使用微信的方法
- WP Super Cache远程代码执行漏洞分析
- 中南大学计算机复试分数线,2019年中南大学考研复试分数线
- node重绘图片_使用nodejs生成图片的尝试
- Python学习,接上篇文章的50道基础入门练习题(附答案)
- 把阿拉伯数字全部转换为大写(1,2,3.... = 一、二、三、)
- 如何通过域名访问web项目
- Datahero inc智能合约技术重塑供应链金融模式
- jenkins k8s 动态增减 jenkins-salve (1) 制作部署jenkins-master 镜像