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

การใช้ฟังก์ชัน REPLACE() แทน str_replace ใน MySQL

MySQL ไม่มี str_replace แต่มี REPLACE() แทน

ใน MySQL ฟังก์ชันที่เทียบเท่ากับ str_replace ของ PHP คือ REPLACE() ใช้สำหรับแทนที่ข้อความในคอลัมน์ข้อมูล รูปแบบคือ:

UPDATE your_table_name 
SET column_name = REPLACE(column_name, 'search_string', 'replace_string')
WHERE column_name LIKE '%search_string%';

ตัวอย่างการใช้งานจริง

1. สร้างตารางเก็บ URL

CREATE TABLE StringReplaceDemo (
    Id INT,
    URL VARCHAR(200)
);

2. เพิ่มข้อมูล URL ตัวอย่าง

INSERT INTO StringReplaceDemo VALUES 
(1001, 'https://www.google.co.in'),
(1002, 'https://www.facebook.com'),
(1003, 'https://mail.google.com');

3. แทนที่ 'mail' ด้วย 'www'

UPDATE StringReplaceDemo 
SET URL = REPLACE(URL, 'mail', 'www') 
WHERE URL LIKE '%mail%';

ผลลัพธ์หลังการอัปเดต

IdURL
1001https://www.google.co.in
1002https://www.facebook.com
1003https://www.google.com

คุณสมบัติสำคัญของ REPLACE()

  • แทนที่ ทุกครั้ง ที่พบข้อความที่ค้นหา
  • ค้นหาแบบ Case-sensitive (แยกตัวพิมพ์เล็ก/ใหญ่)
  • คืนค่า string เดิมหากไม่พบข้อความที่ต้องการแทนที่
  • ใช้ได้ใน SELECT เพื่อแสดงผลโดยไม่เปลี่ยนข้อมูลจริง: SELECT REPLACE(column, 'old', 'new') FROM table