Documentation PostgreSQL 8.1.23 > Langage SQL > Fonctions et opérateurs > Fonctions et opérateurs pour le type des adresses réseau | |
Fonctions et opérateurs géométriques | Fonctions de manipulation de séquence |
Le Tableau 9.31, « Opérateurs cidr et inet » affiche les opérateurs disponibles pour les types cidr et inet. Les opérateurs de tests <<, <<=, >> et >>= d'inclusion du sous-réseau. Ils considèrent seulement les parties réseau des deux adresses, ignorant toute la partie hôte, et déterminent si une partie réseau est identique à un sous-réseau ou à un autre.
Tableau 9.31. Opérateurs cidr et inet
Opérateur | Description | Exemple |
---|---|---|
< | est plus petit que | inet '192.168.1.5' < inet '192.168.1.6' |
<= | est plus petit que ou égal à | inet '192.168.1.5' <= inet '192.168.1.5' |
= | est égal à | inet '192.168.1.5' = inet '192.168.1.5' |
>= | est plus grand ou égal à | inet '192.168.1.5' >= inet '192.168.1.5' |
> | est plus grand que | inet '192.168.1.5' > inet '192.168.1.4' |
<> | n'est pas égal à | inet '192.168.1.5' <> inet '192.168.1.4' |
<< | est contenu dans | inet '192.168.1.5' << inet '192.168.1/24' |
<<= | est contenu dans ou égal à | inet '192.168.1/24' <<= inet '192.168.1/24' |
>> | contient | inet'192.168.1/24' >> inet '192.168.1.5' |
>>= | contient ou est égal à | inet '192.168.1/24' >>= inet '192.168.1/24' |
Le Tableau 9.32, « Fonctions cidr et inet » affiche les fonctions disponibles, utilisables avec les types cidr et inet. Les fonctions host, text et abbrev ont principalement pour but d'offrir des formatages d'affichage alternatifs. Vous pouvez convertir une valeur de type texte vers un type inet en utilisant la syntaxe de conversion normale : inet(expression) ou colname::inet.
Tableau 9.32. Fonctions cidr et inet
Fonction | Type de retour | Description | Exemple | Résultat |
---|---|---|---|---|
broadcast(inet) | inet | adresse de broadcast pour le réseau | broadcast('192.168.1.5/24') | 192.168.1.255/24 |
host(inet) | text | extraction de l'adresse IP comme du texte | host('192.168.1.5/24') | 192.168.1.5 |
masklen(inet) | int | extraction de la longueur du masque réseau | masklen('192.168.1.5/24') | 24 |
set_masklen(inet, int) | inet | initialise la longueur du masque réseau pour une valeur de type inet | set_masklen('192.168.1.5/24', 16) | 192.168.1.5/16 |
netmask(inet) | inet | construction du masque réseau | netmask('192.168.1.5/24') | 255.255.255.0 |
hostmask(inet) | inet | construction du masque de l'hôte pour le réseau | hostmask('192.168.23.20/30') | 0.0.0.3 |
network(inet) | cidr | extraction de la partie réseau de l'adresse | network('192.168.1.5/24') | 192.168.1.0/24 |
text(inet) | text | extraction de l'adresse IP et de la longueur du masque réseau comme texte | text(inet '192.168.1.5') | 192.168.1.5/32 |
abbrev(inet) | text | format d'affichage raccourci comme texte | abbrev(cidr '10.1.0.0/16') | 10.1/16 |
family(inet) | int | extrait la famille de l'adresse ; 4 pour IPv4, 6 pour IPv6 | family('::1') | 6 |
Le Tableau 9.33, « Fonctions macaddr » affiche les fonctions disponibles, à utiliser avec le type macaddr. La fonction trunc(macaddr) renvoie une adresse MAC avec les trois derniers octets initialisés à zéro. Ceci peut être utilisé pour associer le préfixe restant avec un manufacturier. Le répertoire contrib/mac dans la distribution source contient quelques outils pour créer et maintenir une table d'association.
Tableau 9.33. Fonctions macaddr
Fonction | Type de retour | Description | Exemple | Résultat |
---|---|---|---|---|
trunc(macaddr) | macaddr | initialiser les trois octets à zéro | trunc(macaddr '12:34:56:78:90:ab') | 12:34:56:00:00:00 |
Le type macaddr supporte aussi les opérateurs relationnels standards (>, <=, etc.) dans un ordre lexicographique.