MySQL การใช้งานฟังก์ชัน REPLACE()

ฟังก์ชัน 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' ด้วย '-' เพื่อจัดรูปแบบ
แชร์เรื่องนี้