Table 4-21.
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'
|
所有用于
inet
的操作符都可以用于
cidr
.
操作符
<<
<<=
>>
>>=
用于计算子网包含:它们只考虑两个地址的网络部分,忽略任何主机部分,
然后判断其中一个网络部分是等于另外一个还是另外一个的子网.
Table 4-22.
cidr
和
inet
函数
函数 |
返回 |
描述 |
例子 |
结果 |
broadcast
(
inet
) |
inet
|
网络广播地址 |
broadcast('192.168.1.5/24')
|
192.168.1.255/24
|
host
(
inet
) |
text
|
将主机地址类型抽出为文本 |
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
|
所有用于
inet
的函数都可以应用于
cidr
值.函数
host
()
和
text
() 主要是为了提供可选的显示格式用的.
你可以用普通的类型转换语法∶
inet(expression)
或者
colname::inet
把一个文本数域转换成 inet.
Table 4-23.
macaddr
函数
函数 |
返回 |
描述 |
例子 |
结果 |
trunc
(
macaddr
) |
macaddr
|
把后三个字节置为零 |
trunc(macaddr '12:34:56:78:90:ab')
|
12:34:56:00:00:00
|
函数
trunc
(
macaddr
)返回一个 MAC
地址,该地址的最后三个字节设置为零.
这样可以把剩下的前缀与一个制造商相关联.
源程序目录
contrib/mac
里有一些用于创建和维护这样的
关联表的工具.
macaddr
类型还支持标准关系操作符
(
>
,
<=
,等)
用于词法排序.
|