ฟังก์ชัน REPLACE() ใน MySQL ใช้สำหรับแทนที่สตริงย่อยหนึ่งเป็นอีกสตริงหนึ่ง สามารถนำไปใช้กับคำสั่ง UPDATE เพื่อแก้ไขข้อมูลในตารางได้
ตัวอย่างการสร้างตาราง
mysql> create table DemoTable (
Number varchar(100) );
Query OK, 0 rows affected (0.86 sec)
เพิ่มข้อมูลเบอร์โทรที่มีเครื่องหมาย + นำหน้า
mysql> insert into DemoTable values('+916578675547');
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable values('+918976676564');
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable values('+919800087678');
Query OK, 1 row affected (0.12 sec)
แสดงข้อมูลก่อนแทนที่
mysql> select * from DemoTable;
+---------------+ | Number | +---------------+ | +916578675547 | | +918976676564 | | +919800087678 | +---------------+ 3 rows in set (0.00 sec)
คำสั่ง UPDATE แทนที่ + ด้วยช่องว่าง
mysql> update DemoTable set Number = replace(Number, '+', ' '); Query OK, 3 rows affected (0.12 sec) Rows matched: 3 Changed: 3 Warnings: 0
ตรวจสอบข้อมูลหลังแทนที่
mysql> select * from DemoTable;
+---------------+ | Number | +---------------+ | 916578675547 | | 918976676564 | | 919800087678 | +---------------+ 3 rows in set (0.00 sec)
คำอธิบาย: REPLACE(คอลัมน์, 'ค่าเก่า', 'ค่าใหม่') จะแทนที่ทุกครั้งที่พบค่าเก่าในคอลัมน์นั้น หากต้องการลบเครื่องหมาย + ทิ้งโดยไม่แทนที่ช่องว่าง ให้ใช้ replace(Number, '+', '') แทน