MySQL query to append a number of stars based on string length?


For this, you can use RPAD(). Let us first create a table −

mysql> create table DemoTable1626
    -> (
    -> Name varchar(20)
    -> );
Query OK, 0 rows affected (0.37 sec)

Insert some records in the table using insert command −

mysql> insert into DemoTable1626 values('Chris');
Query OK, 1 row affected (0.11 sec)
mysql> insert into DemoTable1626 values('Bob');
Query OK, 1 row affected (0.34 sec)
mysql> insert into DemoTable1626 values('Robert');
Query OK, 1 row affected (0.13 sec)

Display all records from the table using select statement −

mysql> select * from DemoTable1626;

This will produce the following output −

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

Here is the query to append number of stars based on string length −

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

This will produce the following output −

+-------------------------------------------+
| rpad(Name,if(length(Name) >= 5,10,7),'*') |
+-------------------------------------------+
| Chris*****                                |
| Bob****                                   |
| Robert****                                |
+-------------------------------------------+
3 rows in set (0.00 sec)
raja
Published on 08-Nov-2019 11:17:51
Advertisements