masklen() 是一个系统函数,用于返回提供IP地址的子网掩码长度(以比特为单位)。
masklen() 函数在 PostgreSQL 6.4 中被添加。
示例
masklen() 的基本用法示例
postgres=# SELECT masklen('192.168.1.2/24');
masklen
---------
24
(1 row)
如果提供的地址不包含网络掩码,则返回 32
postgres=# SELECT masklen('192.168.1.2');
masklen
---------
32
(1 row)
如果提供了无效地址,则会引发 ERROR 错误
postgres=# SELECT masklen('192.168.1.2/99');
ERROR: invalid input syntax for type inet: "192.168.1.2/99"
LINE 1: SELECT masklen('192.168.1.2/99');
参考资料
- PostgreSQL 文档: IP 地址函数
