การใช้ REPLACE() เพื่อเปลี่ยนช่องว่างเป็นขีดกลางในคอลัมน์ FullName
ฟังก์ชัน REPLACE() ใน MySQL ใช้สำหรับค้นหาและแทนที่สตริงย่อยภายในคอลัมน์ บทความนี้สาธิตการเปลี่ยนช่องว่าง (space) ระหว่างชื่อ-นามสกุล ให้กลายเป็นขีดกลาง (-)
สร้างตารางและเพิ่มข้อมูล
mysql> create table DemoTable1625 (
-> FullName varchar(20)
-> );
Query OK, 0 rows affected (0.68 sec)
mysql> insert into DemoTable1625 values('John Doe');
mysql> insert into DemoTable1625 values('Adam Smith');
mysql> insert into DemoTable1625 values('John Smith');
mysql> insert into DemoTable1625 values('Carol Taylor');
ข้อมูลก่อนอัปเดต
+--------------+ | FullName | +--------------+ | John Doe | | Adam Smith | | John Smith | | Carol Taylor | +--------------+
คำสั่ง UPDATE ด้วย REPLACE
mysql> update DemoTable1625 set FullName = replace(FullName, ' ', '-'); Query OK, 4 rows affected (0.15 sec) Rows matched: 4 Changed: 4 Warnings: 0
ข้อมูลหลังอัปเดต
+--------------+ | FullName | +--------------+ | John-Doe | | Adam-Smith | | John-Smith | | Carol-Taylor | +--------------+
รูปแบบคำสั่ง REPLACE
REPLACE(column_name, 'search_string', 'replace_string')
ข้อสังเกต: คำสั่งนี้จะแทนที่ ทุก ช่องว่างในคอลัมน์ หากมีช่องว่างมากกว่าหนึ่งตำแหน่ง (เช่น "John Doe" สองช่องว่าง) จะกลายเป็น "John--Doe" (สองขีดกลาง) หากต้องการแทนที่เฉพาะช่องว่างระหว่างคำเดียว ควรใช้ TRIM ร่วมกับ REGEXP_REPLACE (MySQL 8.0+) หรือจัดการที่ระดับแอปพลิเคชัน