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
廣告