Tôi muốn tìm cách thực hiện truy vấn SQL để tính toán cidr (biểu diễn bit) của mặt nạ mạng con được lưu trữ trong cơ sở dữ liệu. Vì vậy, ví dụ, tôi đã có 255.255.255.0 hoặc giá trị thập phân của nó (4294967040) được lưu trữ trong cơ sở dữ liệu. Tôi muốn làm một lựa chọn và lấy lại/24 đại diện thông qua truy vấn.Sử dụng SQL để xác định giá trị cidr của mặt nạ mạng con
Tôi đã thực hiện những việc như sau để xác định IP cuối cùng của mạng con vì vậy tôi hy vọng sẽ làm điều gì đó tương tự để xác định biểu diễn cidr của mặt nạ.
select concat(inet_ntoa(ip_addr),'-',
inet_ntoa(ip_addr+(POWER(2,32)-ip_mask-1))) range
from subnets
order by ip_addr
Tốt đây sẽ là một câu lệnh SQL mà sẽ làm việc dưới mysql, postgres, oracle, vv
log2 ... tuyệt vời! :-) –
Tôi đã kiểm tra điều này với tất cả các giá trị trong bảng này và thấy nó là chính xác: https://kthx.at/subnetmask/. – apostl3pol