تابع CONCAT در MySQL

ممکن است برخی مواقع بخواهیم به ستونی خاص از رکوردهای یک جدول متنی را اضافه کنیم. ممکن است این اضافه کردن متن، بنا به شرایط مختلف به قبل یا بعد از متن اصلی صورت گیرد. در هر حالت، برای این کار می‌توانیم از تابع 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;

پس از ایجاد جدول، تعدادی رکورد به عنوان نمونه به این جدول اضافه می‌کنیم. در نهایت جدول حاصل چیزی شبیه به تصویر زیر خواهد بود:

person table

می‌خواهیم Query ای بسازیم که بر اساس جنسیت افراد، به ابتدای نام آن‌ها عبارت “خانم” یا “آقا” را اضافه کند. همانطور که در ابتدا نیز عنوان شد، این کار به کمک تابع ConCat در MySQL قابل انجام است. برای انجام این کار در جدول ایجاد شده، می‌توان از Query زیر استفاده کرد:


update `persons` set name=CONCAT('آقا ', name) where sex='male';
update `persons` set name=CONCAT('خانم ', name) where sex='female';

پس از اجرای Query های بالا، اطلاعات موجود در جدول به شکل زیر تغییر خواهد کرد.

concat in mysql

همچنین می‌توانید در مورد تابع Replace در MySQL نیز مطالعه کنید.

موفق و پیروز باشید.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *