Hàm RPAD() trong MySQL dùng để điền ký tự vào bên phải chuỗi cho đến độ dài chỉ định. Kết hợp với IF() và LENGTH() có thể tạo logic điền ký tự động dựa trên độ dài chuỗi gốc.
Ví dụ minh họa
Tạo bảng:
mysql> CREATE TABLE DemoTable1626 (
Name VARCHAR(20)
);
Chèn dữ liệu:
mysql> INSERT INTO DemoTable1626 VALUES ('Chris');
mysql> INSERT INTO DemoTable1626 VALUES ('Bob');
mysql> INSERT INTO DemoTable1626 VALUES ('Robert');
Dữ liệu gốc:
mysql> SELECT * FROM DemoTable1626;
+--------+ | Name | +--------+ | Chris | | Bob | | Robert | +--------+
Thêm dấu * vào cuối với độ dài động
Logic: Nếu độ dài tên ≥ 5 thì điền đến 10 ký tự, ngược lại điền đến 7 ký tự.
mysql> SELECT RPAD(Name, IF(LENGTH(Name) >= 5, 10, 7), '*')
FROM DemoTable1626;
Kết quả:
+-------------------------------------------+ | RPAD(Name, IF(LENGTH(Name) >= 5, 10, 7), '*') | +-------------------------------------------+ | Chris***** | | Bob**** | | Robert**** | +-------------------------------------------+
Giải thích
LENGTH(Name): Độ dài chuỗi (số byte).IF(LENGTH(Name) >= 5, 10, 7): Độ dài mục tiêu động.RPAD(str, len, padstr): Điềnpadstrvào bên phảistrcho đến độ dàilen.
Các hàm liên quan
| Hàm | Mô tả | Ví dụ |
|---|---|---|
LPAD() | Điền vào bên trái | LPAD('5', 3, '0') → '005' |
REPEAT() | Lặp lại chuỗi N lần | REPEAT('*', 3) → '***' |
CONCAT() | Nối chuỗi đơn giản | CONCAT(Name, '***') |
Ứng dụng: Định dạng mã sản phẩm, mã nhân viên, căn chỉnh hiển thị báo cáo, che giấu một phần thông tin nhạy cảm (masking).