با استفاده از تابع 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 برای مدیریت رشتههای کوتاه استفاده کنید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای استخراج سه کاراکتر میانی معمولاً از 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 برای کار روی کاراکترها استفاده کنید و بدانید اعمال توابع روی ستونها ممکن است باعث عدم استفاده از شاخصها شود.
گزارش