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

Xóa 2 ký tự cuối của mỗi giá trị cột với LEFT trong MySQL

Giới thiệu

Sử dụng hàm LEFT(str, len) để lấy len ký tự đầu tiên của chuỗi. Để xóa N ký tự cuối: LEFT(str, LENGTH(str) - N).

1. Tạo bảng và dữ liệu

mysql> create table DemoTable (
    -> Name varchar(10)
    -> ); 
Query OK, 0 rows affected (0.71 sec)

mysql> insert into DemoTable values('John'); 
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable values('Chris'); 
Query OK, 1 row affected (0.07 sec)
mysql> insert into DemoTable values('Robert'); 
Query OK, 1 row affected (0.11 sec)

2. Dữ liệu gốc

mysql> select *from DemoTable;
+--------+
| Name   |
+--------+
| John   |
| Chris  |
| Robert |
+--------+
3 rows in set (0.00 sec)

3. Xóa 2 ký tự cuối

mysql> select left(Name, length(Name) - 2) from DemoTable;

4. Kết quả

+---------------------------+
| left(Name,length(Name)-2) |
+---------------------------+
| Jo                        |
| Chr                       |
| Robe                      |
+---------------------------+
3 rows in set (0.02 sec)

Giải thích:

  • John (4 ký tự) → LEFT(..., 2) → 'Jo'
  • Chris (5 ký tự) → LEFT(..., 3) → 'Chr'
  • Robert (6 ký tự) → LEFT(..., 4) → 'Robe'

Lưu ý: Nếu chuỗi có độ dài ≤ N, kết quả là chuỗi rỗng (không báo lỗi).

Mở rộng: Xóa N từ cuối (theo từ, không phải ký tự) - phức tạp hơn, cần dùng SUBSTRING_INDEX hoặc REGEXP.