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

Thêm ký tự đặc biệt vào giá trị cột trong MySQL với RPAD

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ền padstr vào bên phải str cho đến độ dài len.

Các hàm liên quan

HàmMô tảVí dụ
LPAD()Điền vào bên tráiLPAD('5', 3, '0') → '005'
REPEAT()Lặp lại chuỗi N lầnREPEAT('*', 3) → '***'
CONCAT()Nối chuỗi đơn giảnCONCAT(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).