network() 是一个系统函数,它返回提供的IP地址的网络部分,格式为 cidr,即该地址网络掩码所覆盖范围内的最低地址。
network() 添加于 PostgreSQL 6.4。
用法
network ( inet ) → cidr
network() 在功能上等同于将 inet 值转换为 cidr。
如果提供了无效值,则会引发 ERROR 错误。
变更历史
- PostgreSQL 6.4
- 添加(提交 33c4072d)
示例
network() 的基本用法示例
postgres=# SELECT network('192.168.1.2/32');
network
----------------
192.168.1.2/32
(1 row)
postgres=# SELECT network('192.168.1.2/24');
network
----------------
192.168.1.0/24
(1 row)
postgres=# SELECT network('192.168.1.2/16');
network
----------------
192.168.0.0/16
(1 row)
通过将 inet 值转换为 cidr 可以获得相同的结果
postgres=# SELECT '192.168.1.2/16'::inet::cidr;
cidr
----------------
192.168.0.0/16
(1 row)
参考资料
- PostgreSQL 文档: IP 地址函数
