Tentu, itu bisa dilakukan. Idenya adalah kita menghitung subnet mask dengan menyetel bit paling signifikan ke 1, sebanyak yang ditentukan oleh kelas subnet. Untuk kelas C, itu adalah
SELECT -1 << 8;
Kemudian, DAN subnet mask dengan alamat IP yang Anda miliki; jika IP berada di dalam subnet, hasilnya harus sama dengan alamat subnet -- standar jaringan. Jadi kita berakhir dengan:
SELECT (-1 << 8) & INET_ATON("192.168.0.1") = INET_ATON("192.168.0.0");
Pembaruan: Ya, perlu untuk mengetahui kelas jaringan atau subnet mask (yang merupakan informasi yang setara). Pertimbangkan bagaimana Anda bisa menangani kasus di mana subnetnya adalah X.Y.0.0
jika Anda tidak memiliki informasi ini. Apakah ini X.Y.0.0/16
atau X.Y.0.0/8
di mana oktet ketiga terjadi begitu saja menjadi 0? Tidak ada cara untuk mengetahuinya.
Jika Anda mengetahui subnet mask, maka kuerinya dapat ditulis sebagai
SELECT (-1 << (33 - INSTR(BIN(INET_ATON("255.255.255.0")), "0"))) &
INET_ATON("192.168.0.1") = INET_ATON("192.168.0.0");