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

MySQL: ลบตัวอักษรสุดท้ายถ้าเป็นอักขระเฉพาะ (เช่น ?) ด้วย SUBSTRING()


ลบตัวอักษรสุดท้ายถ้าเป็นอักขระเฉพาะ ใช้ SUBSTRING() ร่วมกับ CHAR_LENGTH()

ตัวอย่าง

mysql> CREATE TABLE DemoTable (SubjectName VARCHAR(100));
mysql> INSERT INTO DemoTable VALUES ('MySQL'), ('MongoDB?'), ('Java?'), ('C');

ข้อมูลก่อนแก้

+-------------+
| SubjectName |
+-------------+
| MySQL       |
| MongoDB?    |
| Java?       |
| C           |
+-------------+

Query: ลบ ? ท้ายสตริง

mysql> UPDATE DemoTable
    -> SET SubjectName = SUBSTRING(SubjectName, 1, CHAR_LENGTH(SubjectName) - 1)
    -> WHERE SubjectName LIKE '%?';

ผลลัพธ์หลังแก้

+-------------+
| SubjectName |
+-------------+
| MySQL       |
| MongoDB     |
| Java        |
| C           |
+-------------+