ใน MySQL ฟังก์ชัน CONCAT() ใช้สำหรับต่อสตริง หากต้องการต่อสตริงคงที่ (Literal string) ต้องใช้ Single Quote ' ไม่ใช่ Backtick ` (ซึ่งใช้สำหรับ Identifier/ชื่อคอลัมน์/ตาราง)
รูปแบบที่ถูกต้อง
SELECT CONCAT(column1, ' ', column2) FROM yourTable;
ตัวอย่างการใช้งาน
สร้างตารางและเพิ่มข้อมูล:
mysql> create table DemoTable1359 (Id int, Name varchar(20)); mysql> insert into DemoTable1359 values(101,'Chris'),(102,'Adam'),(103,'Mike'),(104,'John');
ข้อมูล:
+------+-------+ | Id | Name | +------+-------+ | 101 | Chris | | 102 | Adam | | 103 | Mike | | 104 | John | +------+-------+
คำสั่งต่อ Id และ Name คั่นด้วยช่องว่าง (ใช้ Single Quote)
mysql> select concat(Id, ' ', Name) from DemoTable1359;
ผลลัพธ์
+---------------------+ | concat(Id, ' ', Name) | +---------------------+ | 101 Chris | | 102 Adam | | 103 Mike | | 104 John | +---------------------+
คำอธิบาย:
`(Backtick) ใช้ล้อม Identifier: ชื่อตาราง, คอลัมน์, alias (เช่น`table_name`)'(Single Quote) ใช้ล้อม String Literal: ข้อความคงที่ (เช่น'Hello')"(Double Quote) ใน MySQL ทำงานเหมือน Single Quote (ถ้าANSI_QUOTESOFF)- ใช้
CONCAT_WS(' ', col1, col2)(With Separator) สะดวกกว่าเมื่อต่อหลายคอลัมน์คั่นด้วยตัวเดียวกัน