یک جدول به نام servers دارید که ستون ip_numeric از نوع عددی (مثلاً INT UNSIGNED) آدرسهای IPv4 را بهصورت عددی ذخیره کرده است؛ یک پرسوجو بنویسید که نام سرور و آدرس IPv4 را با استفاده از تابع INET_NTOA به قالب نقطهای نمایش دهد.
1.0 بازدید آخرین ویرایش در 221 روز قبل ساعت 01:36 0.0
برای حل، از تابع داخلی MySQL یعنی INET_NTOA استفاده کنید که عدد صحیح نمایانگر آدرس IPv4 را به رشته نقطهای تبدیل میکند: مثال ساده SELECT name, INET_NTOA(ip_numeric) AS ip_address FROM servers; توجه کنید که ستون عددی بهتر است از نوع UNSIGNED (یا نتیجه INET_ATON) باشد و مقادیر NULL را در صورت نیاز با COALESCE مدیریت کنید؛ میتوانید همچنین شرطهایی (WHERE) یا ORDER BY برای فیلتر/مرتبسازی اضافه کنید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای نمایش نام سرور و آدرس IPv4 از ستون ip_numeric با INET_NTOA استفاده کنید. توجه کنید ip_numeric باید UNSIGNED باشد تا مقادیر صحیح آدرس را بازگرداند و در صورت NULL بودن مقدار، با COALESCE یا IFNULL میتوانید مقدار جایگزینی نمایش دهید. بهعنوان مثال: SELECT name, COALESCE(INET_NTOA(ip_numeric), 'invalid') AS ip_address FROM servers; همچنین میتوانید با ORDER BY ip_numeric یا استفاده از WHERE ip_numeric IS NOT NULL فیلتر یا مرتبسازی کنید. توجه کنید INET_NTOA فقط IPv4 را پشتیبانی میکند و برای IPv6 به توابع دیگر نیاز دارید.
گزارش