MySQL查询根据字符串长度附加多个星号?

为此,您可以使用RPAD()。让我们首先创建一个表-

mysql> create table DemoTable1626
    -> (
    -> Name varchar(20)
    -> );

使用插入命令在表中插入一些记录-

mysql> insert into DemoTable1626 values('Chris');
mysql> insert into DemoTable1626 values('Bob');
mysql> insert into DemoTable1626 values('Robert');

使用select语句显示表中的所有记录-

mysql> select * from DemoTable1626;

这将产生以下输出-

+--------+
| Name   |
+--------+
| Chris  |
| Bob    |
| Robert |
+--------+
3 rows in set (0.00 sec)

这是根据字符串长度附加星数的查询-

mysql> select rpad(Name,if(length(Name) >= 5,10,7),'*') from DemoTable1626;

这将产生以下输出-

+-------------------------------------------+
| rpad(Name,if(length(Name) >= 5,10,7),'*') |
+-------------------------------------------+
| Chris*****                                |
| Bob****                                   |
| Robert****                                |
+-------------------------------------------+
3 rows in set (0.00 sec)