RPAD
adds a specified set of characters to the right of the original string.
RPAD
stands for "right pad".
The general format for this function is:
RPAD(string, length_to_make_string[, what_to_add_to_right_of_string])
The syntax for the Oracle/PLSQL RPAD function is:
RPAD( string1, padded_length, [ pad_string ] )
string1 is the string to pad to.
padded_length is the number of characters to return.
pad_string is optional. Default to spaces.
By default the RPAD
appends space to the string:
SQL> SELECT RPAD('Letters', 20) FROM dual;
RPAD('LETTERS',20)
--------------------
Letters
SQL>
Append dot the string:
SQL> SELECT RPAD('Letters', 20, '.') FROM dual;
RPAD('LETTERS',20,'.
--------------------
Letters.............
SQL>
CREATE TABLE EMP (EMPNO NUMBER(4) NOT NULL,
ENAME VARCHAR2(10),
JOB VARCHAR2(9),
SAL NUMBER(7, 2),
DEPTNO NUMBER(2));
-- www .j a va 2 s .co m
INSERT INTO EMP VALUES (1, 'SMITH', 'CLERK', 800, 20);
INSERT INTO EMP VALUES (2, 'ALLEN', 'SALESMAN', 1600, 30);
INSERT INTO EMP VALUES (3, 'WARD', 'SALESMAN', 1250, 30);
INSERT INTO EMP VALUES (4, 'JONES', 'MANAGER', 2975, 20);
INSERT INTO EMP VALUES (5, 'MARTIN','SALESMAN', 1250, 30);
INSERT INTO EMP VALUES (6, 'BLAKE', 'MANAGER', 2850, 30);
INSERT INTO EMP VALUES (7, 'CLARK', 'MANAGER', 2850, 10);
INSERT INTO EMP VALUES (8, 'SCOTT', 'ANALYST', 3000, 20);
INSERT INTO EMP VALUES (9, 'KING', 'PRESIDENT',3000, 10);
INSERT INTO EMP VALUES (10,'TURNER','SALESMAN', 1500, 30);
INSERT INTO EMP VALUES (11,'ADAMS', 'CLERK', 1500, 20);
SQL> select ename, rpad(ename,10),rpad(ename,10,'.') from emp;
ENAME RPAD(ENAME RPAD(ENAME
---------- ---------- ----------
SMITH SMITH SMITH.....
ALLEN ALLEN ALLEN.....
WARD WARD WARD......
JONES JONES JONES.....
MARTIN MARTIN MARTIN....
BLAKE BLAKE BLAKE.....
CLARK CLARK CLARK.....
SCOTT SCOTT SCOTT.....
KING KING KING......
TURNER TURNER TURNER....
ADAMS ADAMS ADAMS.....
11 rows selected.
SQL>
The number value is rpadable:
CREATE TABLE EMP (EMPNO NUMBER(4) NOT NULL,
ENAME VARCHAR2(10),
JOB VARCHAR2(9),
SAL NUMBER(7, 2),
DEPTNO NUMBER(2));
-- from ww w . j a va2 s .co m
INSERT INTO EMP VALUES (1, 'SMITH', 'CLERK', 800, 20);
INSERT INTO EMP VALUES (2, 'ALLEN', 'SALESMAN', 1600, 30);
INSERT INTO EMP VALUES (3, 'WARD', 'SALESMAN', 1250, 30);
INSERT INTO EMP VALUES (4, 'JONES', 'MANAGER', 2975, 20);
INSERT INTO EMP VALUES (5, 'MARTIN','SALESMAN', 1250, 30);
INSERT INTO EMP VALUES (6, 'BLAKE', 'MANAGER', 2850, 30);
INSERT INTO EMP VALUES (7, 'CLARK', 'MANAGER', 2850, 10);
INSERT INTO EMP VALUES (8, 'SCOTT', 'ANALYST', 3000, 20);
INSERT INTO EMP VALUES (9, 'KING', 'PRESIDENT',3000, 10);
INSERT INTO EMP VALUES (10,'TURNER','SALESMAN', 1500, 30);
INSERT INTO EMP VALUES (11,'ADAMS', 'CLERK', 1500, 20);
SQL> select ename, rpad(SAL,10),rpad(SAL,10,'.') from emp;
ENAME RPAD(SAL,1 RPAD(SAL,1
---------- ---------- ----------
SMITH 800 800.......
ALLEN 1600 1600......
WARD 1250 1250......
JONES 2975 2975......
MARTIN 1250 1250......
BLAKE 2850 2850......
CLARK 2850 2850......
SCOTT 3000 3000......
KING 3000 3000......
TURNER 1500 1500......
ADAMS 1500 1500......
11 rows selected.
SQL>