ฟังก์ชัน REPLACE() ใน MySQL ใช้เพื่อแทนที่ข้อความย่อย (substring) ที่พบในข้อความหลัก ด้วยข้อความใหม่ โดยทุกครั้งที่พบข้อความที่ตรงกัน จะถูกแทนที่ทั้งหมด
ประโยชน์ของฟังก์ชัน REPLACE()
- ใช้สำหรับล้างหรือแก้ไขข้อมูลในข้อความ เช่น แก้คำผิด, แทนคำย่อ, ลบคำพิเศษ
- เหมาะกับงานจัดรูปแบบข้อมูลก่อนนำไปใช้งาน เช่น
- ลบช่องว่างพิเศษ, HTML tag, อักขระพิเศษ
- แก้ไขชื่อสินค้าหรือคำในคำอธิบาย
รูปแบบการใช้งาน
REPLACE(str, from_str, to_str)
strคือข้อความต้นฉบับที่ต้องการแทนที่from_strคือข้อความที่ต้องการค้นหาto_strคือข้อความที่ต้องการใช้แทนที่
ตัวอย่างการใช้งาน
SQL
SELECT REPLACE('MySQL Tutorial', 'SQL', 'Database');
-- ผลลัพธ์: 'MyDatabase Tutorial'
SELECT REPLACE('banana', 'a', 'A');
-- ผลลัพธ์: 'bAnAnA'
SELECT REPLACE('2024-04-01', '-', '/');
-- ผลลัพธ์: '2024/04/01'แก้ไขคำใน description ของภาพยนตร์
SQL
SELECT title,
REPLACE(description, 'ACTION', 'ADVENTURE') AS updated_description
FROM film
WHERE description LIKE '%ACTION%'
LIMIT 5;- แทนคำว่า
'ACTION'ด้วย'ADVENTURE'ในคำอธิบายของภาพยนตร์ - เหมาะกับการจัดกลุ่มคำ หรือปรับปรุงข้อมูลให้ทันสมัย
ลบเครื่องหมายพิเศษ (เช่น -) ออกจากรหัส
SQL
SELECT customer_id,
REPLACE(LPAD(customer_id, 5, '0'), '0', '-') AS formatted_id
FROM customer
LIMIT 5;- เติมเลข 0 ด้านหน้าให้ครบ 5 หลัก
- แทน
'0'ด้วย'-'เพื่อจัดรูปแบบ