با استفاده از تابع LEFT در MySQL نام کوچک (اولین کلمه) را از ستون full_name جدول employees استخراج کرده و در خروجی به عنوان first_name نمایش دهید.

9.0 بازدید آخرین ویرایش در 220 روز قبل ساعت 03:09

0.0

برای این کار می‌توانید از LEFT همراه با تابع LOCATE استفاده کنید: طول اولین کلمه برابر است با محل اولین فاصله منهای یک، بنابراین LEFT(full_name, LOCATE(' ', full_name)-1) نام کوچک را برمی‌گرداند. دقت کنید رکوردهایی که فاصله ندارند (فقط یک نام) را هم مدیریت کنید؛ می‌توانید با IF یا CASE بررسی کنید که LOCATE صفر نباشد و در صورت صفر بودن خود full_name را برگردانید. این مسئله مربوط به توابع متنی (Functions & Expressions) و پرس‌وجوهای داده‌ها (Data Querying) در MySQL است—نمونه: SELECT IF(LOCATE(' ', full_name)=0, full_name, LEFT(full_name, LOCATE(' ', full_name)-1)) AS first_name FROM employees;

توسط پژوهشگر در 220 روز قبل ساعت 03:09
دسته بندی ها: MySQL MySQL for beginner
nima در 220 روز قبل ساعت 07:20

روش استفاده از LEFT(full_name, LOCATE(' ', full_name)-1) برای استخراج نام کوچک نسبتاً ساده است. با این حال باید به موارد خاص مانند وجود نداشتن فاصله یا نام خالی/NULL توجه کرد تا خروجی درست باشد. برای ایمنی، می‌توانید LOCATE(' ', full_name) را بررسی کنید و در صورت صفر بودن، full_name را برگردانید یا از تابع IFNULL/IF و TRIM استفاده کنید. همچنین به عنوان جایگزین ساده‌تر می‌توانید از SUBSTRING_INDEX(full_name, ' ', 1) استفاده کنید که در اکثر مواقع رفتار پایدارتر و گسترش‌پذیرتر دارد.

گزارش

1 پاسخ

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

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