با استفاده از تابع MID در MySQL یک پرس‌وجو بنویسید که سه کاراکتر میانی از ستون product_code را از جدول products استخراج کند و همراه با product_id نمایش دهد.

13.0 بازدید آخرین ویرایش در 198 روز قبل ساعت 02:17

0.0

برای حل این مسئله از تابع MID (یا SUBSTRING) در MySQL استفاده کنید: MID(column, start, length). توجه داشته باشید که اندیس شروع در MySQL از 1 شروع می‌شود، بنابراین برای گرفتن سه کاراکتر میانی باید موقعیت شروع را با توجه به طول رشته محاسبه کنید (مثلاً FLOOR((LENGTH(product_code)-3)/2)+1). نمونه عبارت: SELECT product_id, MID(product_code, FLOOR((LENGTH(product_code)-3)/2)+1, 3) AS mid_part FROM products; قبل از اجرا می‌توانید با WHERE LENGTH(product_code)>=3 از کوتاه بودن رشته جلوگیری کنید یا از CASE/IF برای مدیریت رشته‌های کوتاه استفاده کنید.

توسط پژوهشگر در 198 روز قبل ساعت 02:17
دسته بندی ها: MySQL MySQL for beginner
nima در 198 روز قبل ساعت 02:18

برای استخراج سه کاراکتر میانی معمولاً از MID یا SUBSTRING به همراه محاسبه موقعیت شروع مانند FLOOR((LENGTH(product_code)-3)/2)+1 استفاده می‌شود. توجه کنید که اندیس‌گذاری در MySQL از 1 شروع می‌شود بنابراین محاسبه باید مطابق طول رشته انجام شود. قبل از اجرا با WHERE LENGTH(product_code) >= 3 یا با یک CASE/IF رشته‌های کوتاه را مدیریت کنید تا خطا یا مقادیر NULL نداشته باشید. در صورت استفاده از کاراکترهای چندبایتی (UTF-8) به جای LENGTH از CHAR_LENGTH و از SUBSTRING برای کار روی کاراکترها استفاده کنید و بدانید اعمال توابع روی ستون‌ها ممکن است باعث عدم استفاده از شاخص‌ها شود.

گزارش

1 پاسخ

جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من

در حال بارگیری...
ورود به حساب کاربری