| PostgreSQL 7.4.16 Documentation | ||||
|---|---|---|---|---|
| Prev | Fast Backward | Chapter 9. Functions and Operators | Fast Forward | Next |
Table 9-31 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 part is identical to or a subnet of the other.
Table 9-31. 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 within | inet '192.168.1.5' << inet '192.168.1/24' |
| <<= | is contained within 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' |
Table 9-32 shows the functions available for use with the cidr and inet types. The host, text, and abbrev functions are primarily intended to offer alternative display formats. You can cast a text value to inet using normal casting syntax: inet(expression) or colname::inet.
Table 9-32. cidr and inet Functions
| Function | Return Type | Description | Example | Result |
|---|---|---|---|---|
broadcast(inet) | inet | broadcast address for network | broadcast('192.168.1.5/24') | 192.168.1.255/24 |
host(inet) | text | extract IP address as text | host('192.168.1.5/24') | 192.168.1.5 |
masklen(inet) | integer | extract netmask length | masklen('192.168.1.5/24') | 24 |
set_masklen(inet, integer) | inet | set netmask length for inet value | set_masklen('192.168.1.5/24', 16) | 192.168.1.5/16 |
netmask(inet) | inet | construct netmask for network | netmask('192.168.1.5/24') | 255.255.255.0 |
hostmask(inet) | inet | construct host mask for network | hostmask('192.168.23.20/30') | 0.0.0.3 |
network(inet) | cidr | extract network part of address | network('192.168.1.5/24') | 192.168.1.0/24 |
text(inet) | text | extract IP address and netmask length as text | text(inet '192.168.1.5') | 192.168.1.5/32 |
abbrev(inet) | text | abbreviated display format as text | abbrev(cidr '10.1.0.0/16') | 10.1/16 |
Table 9-33 shows the functions available for use with the macaddr type. The function trunc(macaddr) returns a MAC address with the last 3 bytes set to zero. This can be used to associate the remaining prefix with a manufacturer. The directory contrib/mac in the source distribution contains some utilities to create and maintain such an association table.
Table 9-33. macaddr Functions
| Function | Return Type | Description | Example | Result |
|---|---|---|---|---|
trunc(macaddr) | macaddr | set last 3 bytes to zero | trunc(macaddr '12:34:56:78:90:ab') | 12:34:56:00:00:00 |
The macaddr type also supports the standard relational operators (>, <=, etc.) for lexicographical ordering.
No comments could be found for this page.
Please use this form to add your own comments regarding your experience with particular features of PostgreSQL, clarifications of the documentation, or hints for other users. Please note, this is not a support forum, and your IP address will be logged. If you have a question or need help, please see the faq, try a mailing list, or join us on IRC. Note that submissions containing URLs or other keywords commonly found in 'spam' comments may be silently discarded. Please contact the webmaster if you think this is happening to you in error.
In order to submit a comment, you must have a community account.
* denotes required field