Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Cập nhật cột MySQL: xóa dấu gạch dưới (_) ở cuối chuỗi bằng TRIM

Hàm TRIM() với tùy chọn TRAILING xóa ký tự chỉ định ở **cuối chuỗi**. Dùng trong UPDATE để dọn dẹp dữ liệu có dấu gạch dưới thừa ở cuối.

Cú pháp

UPDATE ten_bang
SET ten_cot = TRIM(TRAILING '_' FROM ten_cot);
  • TRAILING: chỉ xóa ở cuối (có thêm LEADING đầu, BOTH hai đầu).
  • Ký tự trong nháy đơn: '_'.

Ví dụ minh họa

mysql> CREATE TABLE DemoTable1521 (StudentCode VARCHAR(20));
mysql> INSERT INTO DemoTable1521 VALUES ('345_'), ('12345'), ('9084_');

mysql> SELECT * FROM DemoTable1521;
+-------------+
| StudentCode |
+-------------+
| 345_        |
| 12345       |
| 9084_       |
+-------------+

Cập nhật xóa '_' ở cuối:

mysql> UPDATE DemoTable1521
    -> SET StudentCode = TRIM(TRAILING '_' FROM StudentCode);
Query OK, 2 rows affected (0.34 sec)

Kết quả:

+-------------+
| StudentCode |
+-------------+
| 345         |
| 12345       |
| 9084        |
+-------------+

Các biến thể TRIM

TRIM(TRAILING 'x' FROM cot)TRIM(LEADING 'x' FROM cot)TRIM(BOTH 'x' FROM cot)TRIM(cot)
Cú phápHành động
Xóa 'x' ở cuối
Xóa 'x' ở đầu
Xóa 'x' ở cả đầu và cuối
Xóa khoảng trắng (space) ở cả đầu và cuối

Lưu ý

  • TRIM chỉ xóa **ký tự đơn lẻ** (hoặc chuỗi 1 ký tự). Không xóa chuỗi nhiều ký tự (ví dụ: '_end').
  • Để xóa chuỗi hậu tố cố định: UPDATE bang SET cot = SUBSTRING(cot, 1, LENGTH(cot)-LENGTH('_suffix')) WHERE cot LIKE '%_suffix'.
  • MySQL 8.0+: dùng REGEXP_REPLACE(cot, '_+$', '') xóa nhiều '_' ở cuối.
  • Kiểm tra trước bằng SELECT cùng biểu thức để xem trước kết quả.