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 | RESULT |
|---|---|---|---|---|
| 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.html