Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

ใช้ Single Quote ใน CONCAT() ของ MySQL ไม่ใช้ Backtick

ใน 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_QUOTES OFF)
  • ใช้ CONCAT_WS(' ', col1, col2) (With Separator) สะดวกกว่าเมื่อต่อหลายคอลัมน์คั่นด้วยตัวเดียวกัน