Todos os produtos
Search
Central de documentação

MaxCompute:NET_IP_NET_MASK

Última atualização: Sep 21, 2026

A função NET_IP_NET_MASK gera um endereço de máscara de rede IPv4 ou IPv6 com base em um comprimento de prefixo especificado.

Sintaxe

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

Parâmetros

  • num_output_bytes: Obrigatório. Um valor BIGINT que especifica o número de bytes na máscara de rede. Os valores válidos são 4 para IPv4 e 16 para IPv6.

  • prefix_length: Obrigatório. Um valor BIGINT que especifica o comprimento do prefixo da máscara de rede. O comprimento do prefixo é o número de bits definidos como 1 na máscara. O valor deve estar no intervalo [0, num_output_bytes × 8].

Valor de retorno

Retorna um endereço IP do tipo BINARY. É possível usar esta função com a função NET_IP_TO_STRING para converter o endereço em um formato legível. As seguintes regras se aplicam:

  • Se num_output_bytes não for 4 para IPv4 ou 16 para IPv6, a função reporta um erro.

    Nota

    Se o parâmetro odps.sql.udf.strict.mode estiver definido como false, a função retorna NULL.

  • Se prefix_length for um valor negativo ou maior que 8 × num_output_bytes, a função reporta um erro.

    Nota

    Se o parâmetro odps.sql.udf.strict.mode estiver definido como false, a função retorna NULL.

  • Se num_output_bytes ou prefix_length for NULL, a função retorna NULL.

Exemplos

Exemplo 1: Exemplo básico

-- 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);

Exemplo 2: Uso em conjunto com a função NET_IP_TO_STRING

É possível usar esta função com a função NET_IP_TO_STRING para converter um endereço IP do tipo BINARY em um formato legível.

-- 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));

Funções relacionadas

NET_IP_NET_MASK é uma função de rede. Para mais informações sobre funções de rede, consulte Network functions.