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

MySQL: แทนที่ Backslash (\) ใน Path โฟลเดอร์ด้วย REPLACE

การใช้ REPLACE() แทนที่ Backslash

Backslash \ เป็นอักขระ Escape ใน String ต้องเขียน \\\\ ใน Query เพื่อแทน \ เดียว

ตัวอย่าง

mysql> create table DemoTable827(Path text);
Query OK, 0 rows affected (0.69 sec)
mysql> insert into DemoTable827 values('C\\MySQL');
mysql> insert into DemoTable827 values('D\\NewFolder\\');
mysql> insert into DemoTable827 values('E:\\myFolder\\MyDocument');

ข้อมูลในตาราง (แสดงเป็น \ เดียว):

+------------------------+
| Path                   |
+------------------------+
| C\MySQL                |
| D\NewFolder\           |
| E:\myFolder\MyDocument |
+------------------------+

คำสั่ง REPLACE (เปลี่ยน \ เป็น ----)

mysql> update DemoTable827 set Path = REPLACE(Path, '\\', '----');
Query OK, 3 rows affected (0.18 sec)

ผลลัพธ์:

+------------------------------+
| Path                         |
+------------------------------+
| C----MySQL                   |
| D----NewFolder----           |
| E:----myFolder----MyDocument |
+------------------------------+

คำอธิบาย Escape Sequence

ใน SQL Stringค่าจริงในตารางคำอธิบาย
'\\\\'\Backslash เดียว (Escape \ ด้วย \)
'\\'\ในบาง Context (NO_BACKSLASH_ESCAPES OFF)

การใช้งานจริง: แปลง Windows Path เป็น Unix

UPDATE paths SET path = REPLACE(path, '\\', '/');

สรุป

ใช้ REPLACE(col, '\\\\', 'replacement') แทนที่ Backslash ใน MySQL ต้อง Escape Backslash ใน Query String