บทนำ
การต่อข้อความ (String Concatenation) ใน MySQL ใช้ฟังก์ชัน CONCAT() สามารถใช้ในคำสั่ง UPDATE เพื่อแก้ไขค่าในคอลัมน์ได้
ตัวอย่างการสร้างตารางและเพิ่มข้อมูล
mysql> CREATE TABLE DemoTable (
-> SequenceId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> StudentId VARCHAR(100)
-> );
Query OK, 0 rows affected (0.59 sec)
mysql> INSERT INTO DemoTable(StudentId) VALUES('STU');
mysql> INSERT INTO DemoTable(StudentId) VALUES('STU1');
แสดงข้อมูลก่อนอัปเดต
mysql> SELECT * FROM DemoTable;
ผลลัพธ์
+------------+-----------+
| SequenceId | StudentId |
+------------+-----------+
| 1 | STU |
| 2 | STU1 |
+------------+-----------+
2 rows in set (0.00 sec)
คำสั่งอัปเดตต่อข้อความ '-101' ท้ายทุกแถว
mysql> UPDATE DemoTable
-> SET StudentId = CONCAT(StudentId, '-', '101');
ผลลัพธ์หลังอัปเดต
mysql> SELECT * FROM DemoTable;
+------------+-----------+
| SequenceId | StudentId |
+------------+-----------+
| 1 | STU-101 |
| 2 | STU1-101 |
+------------+-----------+
2 rows in set (0.00 sec)
รูปแบบ CONCAT
CONCAT(str1, str2, str3, ...)
- รวมสตริงหลายตัวเข้าด้วยกัน
- หากมีค่า NULL อยู่ในพารามิเตอร์ ผลลัพธ์จะเป็น NULL (ใช้ IFNULL/COALESCE ป้องกันได้)
ตัวอย่างเพิ่มเติม
-- เพิ่ม Prefix
UPDATE DemoTable SET StudentId = CONCAT('PRE-', StudentId);
-- รวมคอลัมน์หลายตัว
UPDATE DemoTable SET FullName = CONCAT(FirstName, ' ', LastName);
-- ใช้กับ WHERE
UPDATE DemoTable SET Code = CONCAT(Code, '-V2') WHERE Id > 100;