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

MySQL REPLACE() แทนที่สตริงในหลายเรคอร์ดอย่างไร

REPLACE() กับคอลัมน์สำหรับหลายเรคอร์ด

หากต้องการแทนที่สตริงในหลายเรคอร์ด ฟังก์ชัน REPLACE() ต้องมีชื่อคอลัมน์เป็นอาร์กิวเมนต์แรก (ตำแหน่งของสตริงต้นฉบับ) จะแทนที่ substring ทุกครั้งที่พบในคอลัมน์นั้น ด้วย substring ใหม่ ยังสามารถใช้ร่วม WHERE clause และ UPDATE ได้

ตัวอย่าง

mysql> Update Student set Name = REPLACE(Name, 'G','S') WHERE Subject LIKE '%Comp%';
Query OK, 2 rows affected (0.08 sec)
Rows matched: 2 Changed: 2 Warnings: 0

ผลลัพธ์หลังอัปเดต:

mysql> Select Name, Subject from Student;
+---------+-----------+
| Name    | Subject   |
+---------+-----------+
| Saurav  | Computers |
| Aarav   | History   |
| Harshit | Commerce  |
| Saurav  | Computers |
| Yashraj | Math      |
+---------+-----------+

คำสั่งแทนที่ 'G' ด้วย 'S' ในคอลัมน์ Name สำหรับแถวที่ Subject มี 'Comp'