全部产品
Search
文档中心

MaxCompute:NET_IP_NET_MASK

更新时间:Oct 23, 2025

Fungsi NET_IP_NET_MASK menghasilkan alamat masker jaringan IPv4 atau IPv6 berdasarkan panjang awalan yang ditentukan.

Sintaksis

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

Parameter

  • num_output_bytes: Diperlukan. Nilai BIGINT yang menentukan jumlah byte dalam masker jaringan. Nilai valid adalah 4 untuk IPv4 dan 16 untuk IPv6.

  • prefix_length: Diperlukan. Nilai BIGINT yang menentukan panjang awalan dari masker jaringan. Panjang awalan adalah jumlah bit yang disetel ke 1 dalam masker. Nilai harus berada dalam rentang [0, num_output_bytes × 8].

Nilai pengembalian

Mengembalikan alamat IP bertipe BINARY. Anda dapat menggunakan fungsi ini bersama dengan fungsi NET_IP_TO_STRING untuk mengonversi alamat menjadi format yang dapat dibaca. Aturan berikut berlaku:

  • Jika num_output_bytes bukan 4 untuk IPv4 atau 16 untuk IPv6, fungsi melaporkan kesalahan.

    Catatan

    Jika parameter odps.sql.udf.strict.mode diatur ke false, fungsi mengembalikan NULL.

  • Jika prefix_length adalah nilai negatif atau lebih besar dari 8 × num_output_bytes, fungsi melaporkan kesalahan.

    Catatan

    Jika parameter odps.sql.udf.strict.mode diatur ke false, fungsi mengembalikan NULL.

  • Jika num_output_bytes atau prefix_length adalah NULL, fungsi mengembalikan NULL.

Contoh

Contoh 1: Contoh dasar

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

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

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

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

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

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

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

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

Contoh 2: Penggunaan dengan fungsi NET_IP_TO_STRING

Anda dapat menggunakan fungsi ini bersama dengan fungsi NET_IP_TO_STRING untuk mengonversi alamat IP bertipe BINARY menjadi format yang dapat dibaca.

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

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

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

Fungsi terkait

NET_IP_NET_MASK adalah fungsi jaringan. Untuk informasi lebih lanjut tentang fungsi jaringan, lihat Fungsi Jaringan.