百科 / 函数百科 / 网络地址函数和操作符
FUNCTION网络地址函数和操作符
set_masklen
设置 inet 值的子网掩码长度。地址部分不改变。
Sets the netmask length for an inet value.
网络地址函数和操作符 引入 7.2 现存至 20 devel 2 条签名 3 次签名变更
- 分组
- 网络地址函数和操作符
- 签名数
- 2 条
- 引入版本
- 7.2
- 状态
- 现存
- 签名变更
- 3 次
- 本版来源
- 同版手册译文
版本轨迹
相对 PostgreSQL 17 无变化。
说明
inet 值的子网掩码长度。地址部分不改变。set_masklen ( inet, integer ) → inet设置
inet 值的子网掩码长度。地址部分不改变。set_masklen ( cidr, integer ) → cidr设置
cidr 值的子网掩码长度。新子网掩码右侧的地址位设置为零。签名
PostgreSQL 18.7 里 set_masklen 的 2 条签名,按上游手册顺序排列。参数名用斜体,类型用弱化色, 之后是返回类型。中文说明来自同版本手册与审阅译文,悬停可查看每条说明的来源。
-
set_masklen(inet,integer) →inet设置inet值的子网掩码长度。地址部分不改变。set_masklen(inet '192.168.1.5/24', 16)192.168.1.5/16
-
set_masklen(cidr,integer) →cidr设置cidr值的子网掩码长度。新子网掩码右侧的地址位设置为零。set_masklen(cidr '192.168.1.0/24', 16)192.168.0.0/16
演化历史
相邻两个大版本之间的差异,新的在前。版本号链到该版的签名。
-
PostgreSQL 13 ← 12 手册重排
这一跳手册重排了函数表的写法,签名文本整体改写,只记函数的增删,不逐条比较签名。
-
PostgreSQL 8.2 ← 8.1 签名变更
set_masklen ( cidr, int ) → cidr -
PostgreSQL 8.1 ← 8.0 签名变更
set_masklen ( inet, int ) → inetset_masklen ( inet, integer ) → inet -
PostgreSQL 7.4 ← 7.3 签名变更
set_masklen ( inet, integer ) → inetset_masklen ( inet,integer ) → inet -
PostgreSQL 7.2 ← 7.1 新增此函数
PostgreSQL 7.2 起可用
签名矩阵
每条签名在给出了签名的 26 个版本里的存在情况;方格指向该版的签名。只在正文里提到此函数、没有给出签名的版本不列进来,上面的版本轨迹里仍然有它们。签名文本在 PostgreSQL 13 前后写法不同,跨越那一跳的同一条签名会显示成两行。
存在 不存在
| 签名 | 7.2 | 7.3 | 7.4 | 8.0 | 8.1 | 8.2 | 8.3 | 8.4 | 9.0 | 9.1 | 9.2 | 9.3 | 9.4 | 9.5 | 9.6 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
set_masklen ( inet,integer ) → inet |
存在 | 存在 | 不存在 | 不存在 | 不存在 | 不存在 | 不存在 | 不存在 | 不存在 | 不存在 | 不存在 | 不存在 | 不存在 | 不存在 | 不存在 | 不存在 | 不存在 | 不存在 | 不存在 | 不存在 | 不存在 | 不存在 | 不存在 | 不存在 | 不存在 | 不存在 |
set_masklen ( inet, integer ) → inet |
不存在 | 不存在 | 存在 | 存在 | 不存在 | 不存在 | 不存在 | 不存在 | 不存在 | 不存在 | 不存在 | 不存在 | 不存在 | 不存在 | 不存在 | 不存在 | 不存在 | 不存在 | 存在 | 存在 | 存在 | 存在 | 存在 | 存在 | 存在 | 存在 |
set_masklen ( inet, int ) → inet |
不存在 | 不存在 | 不存在 | 不存在 | 存在 | 存在 | 存在 | 存在 | 存在 | 存在 | 存在 | 存在 | 存在 | 存在 | 存在 | 存在 | 存在 | 存在 | 不存在 | 不存在 | 不存在 | 不存在 | 不存在 | 不存在 | 不存在 | 不存在 |
set_masklen ( cidr, int ) → cidr |
不存在 | 不存在 | 不存在 | 不存在 | 不存在 | 存在 | 存在 | 存在 | 存在 | 存在 | 存在 | 存在 | 存在 | 存在 | 存在 | 存在 | 存在 | 存在 | 不存在 | 不存在 | 不存在 | 不存在 | 不存在 | 不存在 | 不存在 | 不存在 |
set_masklen ( cidr, integer ) → cidr |
不存在 | 不存在 | 不存在 | 不存在 | 不存在 | 不存在 | 不存在 | 不存在 | 不存在 | 不存在 | 不存在 | 不存在 | 不存在 | 不存在 | 不存在 | 不存在 | 不存在 | 不存在 | 存在 | 存在 | 存在 | 存在 | 存在 | 存在 | 存在 | 存在 |
同组函数
| 函数 | 签名 | 主签名 | 版本变动 | 最近变更 |
|---|---|---|---|---|
abbrev基线 |
2 | abbrev ( inet ) → text |
8.21 次 | |
| 创建文本形式的缩写显示格式。(结果与 inet 输出函数产生的结果相同;只有与显式类型转换为 text 的结果相比时,才称为“缩写形式”。由于历史原因,后一种转换从不省略网络掩码部分。) | 现存 | |||
broadcast基线 |
1 | broadcast ( inet ) → inet |
— | |
| 为地址的网络计算广播地址。 | 现存 | |||
family |
1 | family ( inet ) → integer |
8.11 次 | |
| 返回地址的地址族:4 对应 IPv4,6 对应 IPv6。 | 现存 | |||
host基线 |
1 | host ( inet ) → text |
— | |
| 返回 IP 地址文本,忽略子网掩码。 | 现存 | |||
hostmask |
1 | hostmask ( inet ) → inet |
— | |
| 为地址的网络计算主机掩码。 | 现存 | |||
inet_merge |
1 | inet_merge ( inet, inet ) → cidr |
— | |
| 计算包含两个给定网络的最小网络。 | 现存 | |||
inet_same_family |
1 | inet_same_family ( inet, inet ) → boolean |
— | |
| 测试地址是否属于同一 IP 族。 | 现存 | |||
macaddr8_set7bit |
1 | macaddr8_set7bit ( macaddr8 ) → macaddr8 |
— | |
| 将地址的第 7 位设置为 1,生成所谓的修订 EUI-64 格式,以便用于 IPv6 地址。 | 现存 | |||
masklen基线 |
1 | masklen ( inet ) → integer |
8.11 次 | |
| 返回子网掩码长度,以位为单位。 | 现存 | |||
netmask基线 |
1 | netmask ( inet ) → inet |
— | |
| 为地址的网络计算网络掩码。 | 现存 | |||
network基线 |
1 | network ( inet ) → cidr |
— | |
| 返回地址的网络部分,将子网掩码右边的部分归零。(这相当于将值转换为 cidr。) | 现存 | |||
set_masklen |
2 | set_masklen ( inet, integer ) → inet |
8.23 次 | |
| 设置 inet 值的子网掩码长度。地址部分不改变。 | 现存 | |||
text基线 |
1 | text ( inet ) → text |
— | |
| 以文本形式返回未缩写的 IP 地址和子网掩码长度。(这与显式转换为 text 的结果相同。) | 现存 | |||