Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

MySQL: แทนที่ช่องว่างด้วยขีดกลาง (-) ในชื่อฟิลด์ด้วย REPLACE

การใช้ 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+) หรือจัดการที่ระดับแอปพลิเคชัน