Table 9.37 shows the operators
available for the cidr and inet types.
The operators <<
,
<<=
, >>
,
>>=
, and &&
test for subnet inclusion. They
consider only the network parts of the two addresses (ignoring any
host part) and determine whether one network is identical to
or a subnet of the other.
Table 9.37. cidr and inet Operators
Operator | Description | Example |
---|---|---|
< | is less than | inet '192.168.1.5' < inet '192.168.1.6' |
<= | is less than or equal | inet '192.168.1.5' <= inet '192.168.1.5' |
= | equals | inet '192.168.1.5' = inet '192.168.1.5' |
>= | is greater or equal | inet '192.168.1.5' >= inet '192.168.1.5' |
> | is greater than | inet '192.168.1.5' > inet '192.168.1.4' |
<> | is not equal | inet '192.168.1.5' <> inet '192.168.1.4' |
<< | is contained by | inet '192.168.1.5' << inet '192.168.1/24' |
<<= | is contained by or equals | inet '192.168.1/24' <<= inet '192.168.1/24' |
>> | contains | inet '192.168.1/24' >> inet '192.168.1.5' |
>>= | contains or equals | inet '192.168.1/24' >>= inet '192.168.1/24' |
&& | contains or is contained by | inet '192.168.1/24' && inet '192.168.1.80/28' |
~ | bitwise NOT | ~ inet '192.168.1.6' |
& | bitwise AND | inet '192.168.1.6' & inet '0.0.0.255' |
| | bitwise OR | inet '192.168.1.6' | inet '0.0.0.255' |
+ | addition | inet '192.168.1.6' + 25 |
- | subtraction | inet '192.168.1.43' - 36 |
- | subtraction | inet '192.168.1.43' - inet '192.168.1.19' |
Table 9.38 shows the functions
available for use with the cidr and inet
types. The abbrev
, host
,
and text
functions are primarily intended to offer alternative display
formats.
Table 9.38. cidr and inet Functions
Any cidr value can be cast to inet implicitly
or explicitly; therefore, the functions shown above as operating on
inet also work on cidr values. (Where there are
separate functions for inet and cidr, it is because
the behavior should be different for the two cases.)
Also, it is permitted to cast an inet value to cidr.
When this is done, any bits to the right of the netmask are silently zeroed
to create a valid cidr value.
In addition,
you can cast a text value to inet or cidr
using normal casting syntax: for example,
inet(
or
expression
)
.
colname
::cidr
Table 9.39 shows the functions
available for use with the macaddr type. The function
returns a MAC
address with the last 3 bytes set to zero. This can be used to
associate the remaining prefix with a manufacturer.
trunc(macaddr)
Table 9.39. macaddr Functions
The macaddr type also supports the standard relational
operators (>
, <=
, etc.) for
lexicographical ordering, and the bitwise arithmetic operators
(~
, &
and |
)
for NOT, AND and OR.
Table 9.40 shows the functions
available for use with the macaddr8 type. The function
returns a MAC
address with the last 5 bytes set to zero. This can be used to
associate the remaining prefix with a manufacturer.
trunc(macaddr8)
Table 9.40. macaddr8 Functions
The macaddr8 type also supports the standard relational
operators (>
, <=
, etc.) for
ordering, and the bitwise arithmetic operators (~
,
&
and |
) for NOT, AND and OR.