ใช้ REPLACE(column, 'char_to_remove', '') เพื่อลบอักขระที่ต้องการทั้งหมด
ตัวอย่างการใช้งาน
1. สร้างตารางและข้อมูลมี ^ ปน
mysql> CREATE TABLE DemoTable (FirstName VARCHAR(100));
mysql> INSERT INTO DemoTable VALUES ('Adam^^^'), ('^^^^^^^^Carol'), ('Robert^^^^^^');
2. ลบ ^ ทั้งหมด
mysql> UPDATE DemoTable SET FirstName = REPLACE(FirstName, '^', '');
ผลลัพธ์
+-----------+ | FirstName | +-----------+ | Adam | | Carol | | Robert | +-----------+
ลบหลายอักขระพร้อมกัน (Nested REPLACE)
UPDATE DemoTable SET FirstName = REPLACE(REPLACE(REPLACE(FirstName, '^', ''), '#', ''), '@', '');
MySQL 8.0+: ใช้ REGEXP_REPLACE (ต้องมี Plugin หรือ MariaDB)
-- MariaDB / MySQL with plugin UPDATE DemoTable SET FirstName = REGEXP_REPLACE(FirstName, '[^#@]', '');
ลบอักขระที่ไม่ใช่ตัวอักษร/ตัวเลข (เก็บแค่ Alphanumeric)
-- ใช้ Function วนลูป (MySQL ไม่มี REGEXP_REPLACE built-in) -- แนะนำทำที่ Application Layer แทน
ข้อควรระวัง
REPLACECase-Sensitive- UPDATE ทั้งตารางอาจช้า → ใส่ WHERE กรองเฉพาะแถวที่มีอักขระนั้น
- สำรองข้อมูลก่อน UPDATE จำนวนมาก