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

Truy vấn MySQL thêm dấu sao (*) dựa trên độ dài chuỗi

Tạo bảng và chèn dữ liệu

mysql> CREATE TABLE DemoTable1626 (
    -> Name VARCHAR(20)
    -> );
Query OK, 0 rows affected (0.37 sec)
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 |
+--------+

Sử dụng RPAD để thêm dấu sao

Nếu độ dài tên ≥ 5 thì tổng độ dài 10, ngược lại 7:

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: RPAD(str, len, padstr) đệm chuỗi padstr bên phải cho đến độ dài len.