ممکن است برخی مواقع بخواهیم به ستونی خاص از رکوردهای یک جدول متنی را اضافه کنیم. ممکن است این اضافه کردن متن، بنا به شرایط مختلف به قبل یا بعد از متن اصلی صورت گیرد. در هر حالت، برای این کار میتوانیم از تابع ConCat در MySQL استفاده کنیم. این تابع میتواند به ابتدا یا انتهای یک متن، متی را اضافه کند. برای آشنایی بهتر با عملکرد این تابع، به عنوان مثال، جدولی را در نظر بگیرید که خاوی یک ستون برای شناسه، در ستون بعدی نام افراد و در ستونی دیگر جنسیت افراد قرار گرفته است. Query لازم برای ساخت این جدول به شرح زیر است:
CREATE TABLE `sample_db`.`persons` ( `id` INT NOT NULL AUTO_INCREMENT , `name` VARCHAR(50) CHARACTER SET utf8 COLLATE utf8_persian_ci NOT NULL , `sex` ENUM('male','female','other','') NOT NULL DEFAULT 'male' , PRIMARY KEY (`id`)) ENGINE = InnoDB;
پس از ایجاد جدول، تعدادی رکورد به عنوان نمونه به این جدول اضافه میکنیم. در نهایت جدول حاصل چیزی شبیه به تصویر زیر خواهد بود:
میخواهیم Query ای بسازیم که بر اساس جنسیت افراد، به ابتدای نام آنها عبارت “خانم” یا “آقا” را اضافه کند. همانطور که در ابتدا نیز عنوان شد، این کار به کمک تابع ConCat در MySQL قابل انجام است. برای انجام این کار در جدول ایجاد شده، میتوان از Query زیر استفاده کرد:
update `persons` set name=CONCAT('آقا ', name) where sex='male'; update `persons` set name=CONCAT('خانم ', name) where sex='female';
پس از اجرای Query های بالا، اطلاعات موجود در جدول به شکل زیر تغییر خواهد کرد.
همچنین میتوانید در مورد تابع Replace در MySQL نیز مطالعه کنید.
موفق و پیروز باشید.