mysql根据字符串长度附加一些星号

时间:2016-08-01 07:43:14

标签: mysql

我要求当字符串长度小于10时,我需要在末尾附加尽可能多的星号(*),直到长度等于10。

前:

ipString = "Stack"

opString  = "Stack*****"

有什么办法吗?

1 个答案:

答案 0 :(得分:3)

使用 RPAD

SELECT RPAD('STACK',10,'*')

更准确:

SET @str := 'Stack ';

SELECT 
IF(LENGTH(@str) < 10, RPAD(@str,10,'*') ,@str)

WORKING DEMO 如果字符串的长度小于10

WORKING DEMO 如果字符串的长度大于或等于10

关于RPAD的说明:

<强>描述

MySQL RPAD()函数填充右边的字符串。要填充的实际字符串,填充后返回的字符串的长度以及用于填充的字符串 - 所有这些都作为参数传递。

<强>语法

RPAD(str, len, padstr)

<强>参数

Name    Description
str     The actual string which is to be padded.
len     Length of the string returned after padding.
padstr  String which will be used for padding.