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

ลบข้อความบางส่วนจากค่าในคอลัมน์ MySQL

ใช้ REPLACE() ลบข้อความบางส่วน

ฟังก์ชัน REPLACE() แทนที่ substring ด้วย Empty String เพื่อ "ลบ" ส่วนที่ไม่ต้องการ

ไวยากรณ์

UPDATE table SET column = REPLACE(column, 'text_to_remove', '');

ตัวอย่าง: ลบ "Java Version " เหลือแค่หมายเลข Version

CREATE TABLE removePartialTextDemo (JavaVersionDetails VARCHAR(100));

INSERT INTO removePartialTextDemo VALUES
('Java Version 1.0'), ('Java Version 1.1'), ('Java Version 1.2'),
('Java Version 1.3'), ('Java Version 1.4'), ('Java Version 7');

คำสั่ง Update

UPDATE removePartialTextDemo 
SET JavaVersionDetails = REPLACE(JavaVersionDetails, 'Java Version ', '');

ผลลัพธ์

+--------------------+
| JavaVersionDetails |
+--------------------+
| 1.0                |
| 1.1                |
| 1.2                |
| 1.3                |
| 1.4                |
| 7                  |
+--------------------+

คุณสมบัติ

  • แทนที่ ทุกครั้งที่เจอ ในสตริง
  • Case-sensitive
  • ถ้าต้องการลบเฉพาะครั้งแรก → ต้องใช้ SUBSTRING + LOCATE (ซับซ้อนกว่า)
  • MySQL 8.0+ ใช้ REGEXP_REPLACE() สำหรับ Pattern Complex

ตัวอย่าง REGEXP_REPLACE (MySQL 8.0+)

UPDATE table SET col = REGEXP_REPLACE(col, 'Java Version\\s+', '');

ลบ "Java Version" + ช่องว่างหลังตัวเลข