Tous les produits
Search
Centre de documentation

MaxCompute:NET_IP_NET_MASK

Dernière mise à jour :Sep 21, 2026

La fonction NET_IP_NET_MASK génère une adresse de masque de réseau IPv4 ou IPv6 à partir d'une longueur de préfixe spécifiée.

Syntaxe

BINARY NET_IP_NET_MASK(BIGINT <num_output_bytes>, BIGINT <prefix_length>)

Paramètres

  • num_output_bytes : Obligatoire. Valeur BIGINT indiquant le nombre d'octets du masque de réseau. Les valeurs valides sont 4 pour IPv4 et 16 pour IPv6.

  • prefix_length : Obligatoire. Valeur BIGINT indiquant la longueur du préfixe du masque de réseau. La longueur du préfixe correspond au nombre de bits définis sur 1 dans le masque. La valeur doit se situer dans la plage [0, num_output_bytes × 8].

Valeur renvoyée

Renvoie une adresse IP de type BINARY. Vous pouvez utiliser cette fonction avec la fonction NET_IP_TO_STRING pour convertir l'adresse dans un format lisible. Les règles suivantes s'appliquent :

  • Si num_output_bytes n'est pas égal à 4 pour IPv4 ou à 16 pour IPv6, la fonction signale une erreur.

    Remarque

    Si le paramètre odps.sql.udf.strict.mode est défini sur false, la fonction renvoie NULL.

  • Si prefix_length est négatif ou supérieur à 8 × num_output_bytes, la fonction signale une erreur.

    Remarque

    Si le paramètre odps.sql.udf.strict.mode est défini sur false, la fonction renvoie NULL.

  • Si num_output_bytes ou prefix_length est NULL, la fonction renvoie NULL.

Exemples

Exemple 1 : Exemple de base

-- Returns =FF=FF=FF=00 
SELECT NET_IP_NET_MASK(4, 24);

-- Returns =FF=FF=F0=00
SELECT NET_IP_NET_MASK(4, 20);

-- Returns =FF=FF=FF=FF
SELECT NET_IP_NET_MASK(4, 32);

-- Returns =00=00=00=00=00=00=00=00=00=00=00=00=00=00=00=00
SELECT NET_IP_NET_MASK(16, 0);

-- Returns =80=00=00=00=00=00=00=00=00=00=00=00=00=00=00=00
SELECT NET_IP_NET_MASK(16, 1);

 -- Returns =FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF
SELECT NET_IP_NET_MASK(16, 128);

-- Returns NULL
SELECT NET_IP_NET_MASK(NULL, 128);

-- Returns NULL
SELECT NET_IP_NET_MASK(4, NULL);

Exemple 2 : Utilisation avec la fonction NET_IP_TO_STRING

Vous pouvez utiliser cette fonction conjointement avec la fonction NET_IP_TO_STRING pour convertir une adresse IP de type BINARY dans un format lisible.

-- Returns 255.255.255.0
SELECT NET_IP_TO_STRING(NET_IP_NET_MASK(4, 24));

-- Returns ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff
SELECT NET_IP_TO_STRING(NET_IP_NET_MASK(16, 128));

-- Returns ffff:ffff:ffff:ffff::
SELECT NET_IP_TO_STRING(NET_IP_NET_MASK(16, 64));

Fonctions associées

NET_IP_NET_MASK est une fonction réseau. Pour plus d'informations sur les fonctions réseau, consultez la rubrique Fonctions réseau.