↑↓ 选择↵ 打开⌫ 切换范围完整搜索

PG.CENTER 连接 PostgreSQL 文档、百科与生态知识。由 Pigsty 维护。

支持中的版本: 当前版本 (18) / 17 / 16 / 15 / 14
开发中的版本: 19 / 20devel
已结束支持的版本: 13 / 12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4 / 7.3 / 7.2 / 7.1
历史版本。 PostgreSQL 7.3 已结束支持。 请参阅 当前版本手册.

6.10. 网络地址类型函数 #

表 6.23列出了可用于 inet 和 cidr 类型的操作符。操作符 <<、<<=、>> 和 >>= 测试子网包含:它们只考虑两个地址的网络部分,忽略任何主机部分,并判断一个网络部分是否与另一个相同或是它的子网。

表 6.23. cidr 和 inet 操作符

操作符描述用法
<小于inet '192.168.1.5' < inet '192.168.1.6'
<=小于或等于inet '192.168.1.5' <= inet '192.168.1.5'
=等于inet '192.168.1.5' = inet '192.168.1.5'
>=大于或等于inet '192.168.1.5' >= inet '192.168.1.5'
>大于inet '192.168.1.5' > inet '192.168.1.4'
<>不等于inet '192.168.1.5' <> inet '192.168.1.4'
<<被包含于inet '192.168.1.5' << inet '192.168.1/24'
<<=被包含于或等于inet '192.168.1/24' <<= inet '192.168.1/24'
>>包含inet'192.168.1/24' >> inet '192.168.1.5'
>>=包含或等于inet '192.168.1/24' >>= inet '192.168.1/24'

表 6.24列出了可用于 inet 和 cidr 类型的函数。host()、text() 和 abbrev() 函数主要用于提供替代的显示格式。可以使用普通的转换语法把一个文本字段转换为 inet:inet(expression) 或 colname::inet。

表 6.24. cidr 和 inet 函数

函数返回类型描述示例结果
broadcast(inet)inet网络的广播地址broadcast('192.168.1.5/24')192.168.1.255/24
host(inet)text以 text 形式抽取 IP 地址host('192.168.1.5/24')192.168.1.5
masklen(inet)integer抽取网络掩码长度masklen('192.168.1.5/24')24
set_masklen(inet,integer)inet设置 inet 值的网络掩码长度set_masklen('192.168.1.5/24',16)192.168.1.5/16
netmask(inet)inet构造网络的网络掩码netmask('192.168.1.5/24')255.255.255.0
network(inet)cidr抽取地址的网络部分network('192.168.1.5/24')192.168.1.0/24
text(inet)text以文本形式提取 IP 地址和掩码长度text(inet '192.168.1.5')192.168.1.5/32
abbrev(inet)text以文本形式提取缩写显示abbrev(cidr '10.1.0.0/16')10.1/16

表 6.25列出了可用于 mac 类型的函数。函数 trunc(macaddr) 返回一个把最后 3 个字节置为 0 的 MAC 地址。这可以用于把剩余的前缀与一个制造商关联起来。源代码发行版中的 contrib/mac 目录包含一些用于创建和维护这种关联表的工具。

表 6.25. macaddr 函数

函数返回类型描述示例结果
trunc(macaddr)macaddr把最后 3 个字节设置为零trunc(macaddr '12:34:56:78:90:ab')12:34:56:00:00:00

macaddr类型还支持用于字典序排序的标准关系操作符(>、<=等)。

报告文档问题

阅读 上游文档. 反馈更正前请先核对 当前版本手册.