MySQL RPAD() 函数



MySQL 的RPAD()函数用于向字符串的右侧添加填充,直到达到所需的长度。

语法

以下是 MySQL RPAD() 函数的语法:

RPAD(str,len,padstr)

参数

以下是此函数的参数:

  • str 是需要添加填充的原始字符串。

  • len 是需要添加填充的字符串的所需长度。

  • padstr 是需要用作填充的字符串。

返回值

此函数返回一个新的字符串,该字符串在右侧填充指定的填充字符串以达到指定的长度。

示例

在以下示例中,我们使用 RPAD() 函数向字符串“Tutorialspoint”的右侧添加美元符号('$')作为填充,直到其长度达到 25:

SELECT RPAD('Tutorialspoint', 25,'$');

以下是上述代码的输出:

RPAD('Tutorialspoint', 25,'$')
Tutorialspoint$$$$$$$$$$$

示例

您还可以使用 RPAD() 向数值添加填充,如下面的示例所示:

SELECT RPAD(22556, 30,'%%@');

获得的输出如下:

RPAD(22556, 30,'%%@')
22556%%@%%@%%@%%@%%@%%@%%@%%@%

示例

填充字符串也可以是数字,如下所示:

SELECT RPAD('Tutorialspoint', 30, 0);

我们获得的输出如下:

RPAD('Tutorialspoint', 30, 0)
Tutorialspoint0000000000000000

示例

如果原始字符串长于给定长度,则将其缩短以匹配所需的长度:

SELECT RPAD('Tutorialspoint', 5, '*' );

以下是上述代码的输出:

RPAD('Tutorialspoint', 5, '*' )
Tutor

示例

如果传递给此函数的任何参数为 NULL,则返回 NULL:

SELECT RPAD('Tutorialspoint', 25, NULL);

产生的结果如下所示:

RPAD('Tutorialspoint', 25, NULL)
NULL

示例

您还可以使用此函数向表中某列的值的右侧添加填充。

让我们创建一个名为“PLAYERS”的表,并使用 CREATE 和 INSERT 语句向其中插入记录,如下所示:

CREATE TABLE PLAYERS(
   ID INT,
   First_Name VARCHAR(255),
   Last_Name VARCHAR(255),
   Date_Of_Birth date,
   Place_Of_Birth VARCHAR(255),
   Country VARCHAR(255),
   PRIMARY KEY (ID)
);

现在,让我们使用 INSERT 语句向其中插入记录:

INSERT INTO PLAYERS VALUES
(1, 'Shikhar', 'Dhawan', DATE('1981-12-05'), 'Delhi', 'India'),
(2, 'Jonathan', 'Trott', DATE('1981-04-22'), 'CapeTown', 'SouthAfrica'),
(3, 'Kumara', 'Sangakkara', DATE('1977-10-27'), 'Matale', 'Srilanka'),
(4, 'Virat', 'Kohli', DATE('1988-11-05'), 'Delhi', 'India'),
(5, 'Rohit', 'Sharma', DATE('1987-04-30'), 'Nagpur', 'India'),
(6, 'James', 'Anderson', DATE('1982-06-30'), 'Burnley', 'England');

获得的 PLAYERS 表如下所示:

ID First_Name Last_Name Date_Of_Birth Place_Of_Birth Country
1 Shikhar Dhawan 1981-12-05 Delhi India
2 Jonathan Trott 1981-04-22 CapeTown SouthAfrica
3 Kumara Sangakkara 1977-10-27 Matale Srilanka
4 Virat Kohli 1988-11-05 Delhi India
5 Rohit Sharma 1987-04-30 Nagpur India
6 James Anderson 1982-06-30 Burnley England

以下查询将字符串**---**作为填充添加到FIRST_NAME列中的实体,并保持25个字符的一致长度:

SELECT ID, First_Name, Last_Name, Country, RPAD(First_Name, 25, '**---**') as RESULT 
FROM PLAYERS;

执行上述代码后,我们得到以下输出:

ID First_Name Last_Name Country 结果
1 Shikhar Dhawan India Shikhar**---****---****--
2 Jonathan Trott SouthAfrica Jonathan**---****---****-
3 Kumara Sangakkara Srilanka Kumara**---****---****---
4 Virat Kohli India Virat**---****---****---*
5 Rohit Sharma India Rohit**---****---****---*
6 James Anderson England James**---****---****---*
mysql-rpad-function.htm
广告