با استفاده از تابع INET_ATON در MySQL، ستون ip_address جدول hosts را به مقدار عددی بدون علامت تبدیل کرده و شناسه id و مقدار عددی حاصل را نمایش دهید.
1.0 بازدید آخرین ویرایش در 221 روز قبل ساعت 01:19 0.0
در MySQL از تابع INET_ATON برای تبدیل رشته آدرس IPv4 به یک مقدار عددی (unsigned integer) استفاده میشود؛ برای حل سؤال کافی است یک پرسوجوی SELECT بنویسید که INET_ATON(ip_address) را همراه با id انتخاب کند، مثلاً SELECT id, INET_ATON(ip_address) AS ip_num FROM hosts؛ توجه داشته باشید که INET_ATON فقط آدرسهای IPv4 معتبر را تبدیل میکند و برای ذخیره دائمی بهتر است از ستون INT UNSIGNED استفاده کنید یا برای بازگرداندن رشته از INET_NTOA بهره ببرید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای تبدیل IPv4 به مقدار عددی از INET_ATON استفاده کنید و نتیجه را با id نمایش دهید، مثلاً: SELECT id, INET_ATON(ip_address) AS ip_num FROM hosts. توجه کنید INET_ATON فقط IPv4 معتبر را تبدیل میکند و در صورت آدرس نامعتبر NULL برمیگرداند. اگر قصد ذخیره دائمی دارید، بهتر است ip_num را به صورت INT UNSIGNED تعریف کنید یا در خروجی با CAST(... AS UNSIGNED) نمایش دهید. همچنین برای بازگردانی رشته از INET_NTOA استفاده کنید و اگر IPv6 وجود دارد از INET6_ATON/INET6_NTOA استفاده نمایید.
گزارش