ใช้ฟังก์ชัน REPLACE() ในคำสั่ง UPDATE เพื่อลบอักขระ hyphen (-)
ไวยากรณ์
UPDATE yourTableName SET yourColumnName = REPLACE(yourColumnName, '-', '');
สร้างตารางตัวอย่าง
mysql> CREATE TABLE removeHyphensDemo (
-> userId VARCHAR(100)
-> );
เพิ่มข้อมูลตัวอย่าง (มี hyphen)
mysql> INSERT INTO removeHyphensDemo VALUES
('John-123-456'), ('Carol-9999-7777-66555'), ('123456-Bob-8765'), ('1678-9870-Sam');
แสดงข้อมูลก่อน
mysql> SELECT * FROM removeHyphensDemo;
ผลลัพธ์:
+-----------------------+ | userId | +-----------------------+ | John-123-456 | | Carol-9999-7777-66555 | | 123456-Bob-8765 | | 1678-9870-Sam | +-----------------------+
ลบ hyphen ทั้งหมด
mysql> UPDATE removeHyphensDemo SET userId = REPLACE(userId, '-', ''); Query OK, 4 rows affected (0.26 sec)
ตรวจสอบหลังลบ hyphen
mysql> SELECT * FROM removeHyphensDemo;
ผลลัพธ์:
+--------------------+ | userId | +--------------------+ | John123456 | | Carol9999777766555 | | 123456Bob8765 | | 16789870Sam | +--------------------+
REPLACE() สำหรับอักขระอื่นๆ
- ลบ Space:
REPLACE(col, ' ', '') - ลบ Comma:
REPLACE(col, ',', '') - ลบ Parentheses:
REPLACE(REPLACE(col, '(', ''), ')', '') - Normalize โทรศัพท์:
REPLACE(REPLACE(REPLACE(phone, '-', ''), ' ', ''), '(', '')
ลบหลายอักขระพร้อมกัน (MySQL 8.0+)
-- ใช้ REGEXP_REPLACE (ต้อง MySQL 8.0.4+) UPDATE table_name SET col = REGEXP_REPLACE(col, '[-.() ]', ''); -- หรือ nested REPLACE UPDATE table_name SET col = REPLACE(REPLACE(REPLACE(col, '-', ''), '.', ''), ' ', '');
กรณีใช้งานจริง
- ทำความสะอาดข้อมูลนำเข้า (ETL): ID, เบอร์โทร, รหัสไปรษณีย์
- Normalize ข้อมูลก่อน Join/Compare
- Generate slug/URL-friendly string