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

Cách xóa ký tự đầu tiên của chuỗi trong MySQL


Cú pháp

Sử dụng SUBSTR() (hoặc SUBSTRING()) với vị trí bắt đầu từ 2:

UPDATE ten_bang SET ten_cot = SUBSTR(ten_cot, 2);

Ví dụ: Xóa dấu phẩy đầu chuỗi

1. Tạo bảng

mysql> CREATE TABLE CutStringDemo ( 
-> Value VARCHAR(100) 
-> ); 
Query OK, 0 rows affected (0.66 sec)

2. Chèn dữ liệu (có dấu phẩy đầu)

mysql> INSERT INTO CutStringDemo VALUES(',12,3456'); 
Query OK, 1 row affected (0.14 sec) 
mysql> INSERT INTO CutStringDemo VALUES(',23,9867'); 
Query OK, 1 row affected (0.16 sec) 
mysql> INSERT INTO CutStringDemo VALUES(',20,3212'); 
Query OK, 1 row affected (0.12 sec) 
mysql> INSERT INTO CutStringDemo VALUES(',23456,1234'); 
Query OK, 1 row affected (0.14 sec)

3. Dữ liệu ban đầu

mysql> SELECT * FROM CutStringDemo;
+-------------+ 
| Value       | 
+-------------+ 
| ,12,3456    | 
| ,23,9867    | 
| ,20,3212    | 
| ,23456,1234 | 
+-------------+ 
4 rows in set (0.00 sec)

4. Xóa ký tự đầu tiên

mysql> UPDATE CutStringDemo SET Value = SUBSTR(Value, 2); 
Query OK, 4 rows affected (0.20 sec) 
Rows matched: 4 Changed: 4 Warnings: 0

5. Kết quả

mysql> SELECT * FROM CutStringDemo;
+------------+ 
| Value      | 
+------------+ 
| 12,3456    | 
| 23,9867    | 
| 20,3212    | 
| 23456,1234 | 
+------------+ 
4 rows in set (0.00 sec)

Các biến thể hữu ích

Xóa N ký tự đầu

UPDATE ten_bang SET ten_cot = SUBSTR(ten_cot, N+1);

Chỉ xóa nếu ký tự đầu là ký tự cụ thể

UPDATE ten_bang 
SET ten_cot = SUBSTR(ten_cot, 2) 
WHERE LEFT(ten_cot, 1) = ',';

Xóa ký tự cuối (dùng RIGHT/LENGTH)

UPDATE ten_bang 
SET ten_cot = LEFT(ten_cot, LENGTH(ten_cot) - 1) 
WHERE RIGHT(ten_cot, 1) = ',';

Hàm liên quan

HàmMô tảVí dụ
SUBSTR(str, pos)Lấy từ vị trí pos đến hếtSUBSTR('abc', 2) → 'bc'
SUBSTR(str, pos, len)Lấy len ký tự từ posSUBSTR('abcde', 2, 3) → 'bcd'
LEFT(str, len)Lấy len ký tự đầuLEFT('abc', 2) → 'ab'
RIGHT(str, len)Lấy len ký tự cuốiRIGHT('abc', 2) → 'bc'
TRIM(str)Xóa khoảng trắng 2 đầuTRIM(' abc ') → 'abc'

Lưu ý

  • Vị trí trong MySQL bắt đầu từ 1 (không phải 0)
  • SUBSTR = SUBSTRING (đồng nghĩa)
  • Luôn backup hoặc test trước khi UPDATE hàng loạt