Giới thiệu
Hàm LPAD(str, len, padstr) thêm ký tự padstr vào bên trái chuỗi str cho đến khi độ dài đạt len. Dùng để thêm số 0 dẫn đầu (zero-padding).
Ví dụ minh họa
Tạo bảng và chèn dữ liệu
mysql> CREATE TABLE DemoTable (
Code VARCHAR(100)
);
mysql> INSERT INTO DemoTable VALUES ('JS'), ('CB'), ('DM'), ('CT');
Xem dữ liệu trước
mysql> SELECT * FROM DemoTable;
+------+ | Code | +------+ | JS | | CB | | DM | | CT | +------+
Cập nhật thêm 0 dẫn đầu độ dài 8
mysql> UPDATE DemoTable SET Code = LPAD(Code, 8, '0');
Query OK, 4 rows affected (0.10 sec)
Kết quả sau
mysql> SELECT * FROM DemoTable;
+----------+ | Code | +----------+ | 000000JS | | 000000CB | | 000000DM | | 000000CT | +----------+
Chỉ SELECT không UPDATE
SELECT LPAD(Code, 8, '0') AS PaddedCode FROM DemoTable;
Hàm đối ứng: RPAD()
RPAD('ABC', 8, '0') -- 'ABC00000' (thêm phải)
Ứng dụng thực tế
- Mã sản phẩm: SP0001, SP0002...
- Mã nhân viên: NV00001.
- Số hóa đơn: INV00000123.
- Sắp xếp chuỗi số đúng thứ tự tự nhiên: '2' < '10' nhưng '02' > '10' → cần padding.
Lưu ý
- Nếu chuỗi gốc dài hơn
len, LPAD **cắt bớt** từ bên phải (giữlenký tự trái). - Cột phải đủ rộng (VARCHAR length >= len).
- MySQL 8.0: Có thể dùng
FORMAT()hoặcLPAD()trong generated column.