ฟังก์ชัน CONCAT() ใน MySQL ใช้เพื่อรวมข้อความหลาย ๆ ข้อความเข้าด้วยกันเป็นข้อความเดียว โดยสามารถรวมข้อความได้ตั้งแต่ 2 ข้อความขึ้นไป ถ้าค่าใดค่าหนึ่งในข้อความที่นำมารวมเป็น NULL ฟังก์ชัน CONCAT() จะคืนค่า NULL
ประโยชน์ของฟังก์ชัน CONCAT()
- ใช้รวมชื่อ-นามสกุล, ชื่อเต็มของรายการ, รหัส + ชื่อ, หรือข้อความที่ต้องการจัดรูปแบบ
- เหมาะสำหรับการแสดงผลใน UI หรือรายงาน เช่น
"ชื่อสินค้า: ชื่อ - ราคา"
รูปแบบ Syntax
CONCAT(str1, str2, ..., strN)
str1,str2, …,strNคือข้อความ (string) หรือคอลัมน์ที่ต้องการรวม- ประเภทข้อมูลที่ไม่ใช่ข้อความจะถูกแปลงเป็น string อัตโนมัติ
ตัวอย่างการใช้งาน
SQL
SELECT CONCAT('Hello', ' ', 'World'); -- ผลลัพธ์: Hello World
SELECT CONCAT('ปี ', 2025); -- ผลลัพธ์: ปี 2025
SELECT CONCAT('รหัส:', NULL); -- ผลลัพธ์: NULL- หากมี
NULLแม้แต่ตัวเดียว ผลลัพธ์จะเป็นNULLทั้งหมด - หากต้องการให้
NULLถูกแทนด้วยช่องว่างหรือข้อความว่าง ให้ใช้IFNULL()ครอบ
รวมชื่อและนามสกุลของนักแสดง (first_name + last_name)
SQL
SELECT actor_id,
CONCAT(first_name, ' ', last_name) AS full_name
FROM actor
LIMIT 10;- รวม
first_nameและlast_nameพร้อมเว้นวรรคตรงกลาง - แสดงชื่อเต็มของนักแสดงในตาราง
actor
รวมรหัสลูกค้ากับชื่อ (Customer ID + Name)
SQL
SELECT customer_id,
CONCAT('CUST-', customer_id, ': ', first_name, ' ', last_name) AS customer_label
FROM customer
LIMIT 10;การใช้งานร่วมกับ IFNULL() เพื่อป้องกัน NULL
SQL
SELECT CONCAT(first_name, ' ', IFNULL(last_name, '(ไม่มีนามสกุล)')) AS full_name
FROM actor;- กรณี
last_nameเป็นNULLจะแสดงข้อความว่า “ไม่มีนามสกุล” แทน