SQL> select ename, lpad(ename, 10, '-'), rpad(ename, 10, '+')
from emp;
↓ ↓ ↓
SQL> select ename, lpad(ename, 10, ' '), rpad(ename, 10)
from emp;
SQL> select ename, substr(lpad(ename, 10, ' '), 10, 1), substr(ename, -1, 1)
====================================================================================================
RPAD 접기
RPAD rpad::=
RPAD함수는 인수 expr1 오 른편으로 인수 expr2로 지정한 문자를 길이 필요에 따라 반복하여 n만큼 붙여준다. 이 함수는 쿼리의 출력 포맷을 맞추는데 도움이 된다.
expr1과 expr2의 데이터 형식은 CHAR,VARCHAR2,NCHAR,NVARCHAR2,CLOB,NCLOB이다. 인수 n은 NUMBER 정수이거나, NUMBER 정수로 암묵적으로 변환될수 있는 값이다.
만약 expr2를 지정하지 않았다면, 기본적으로 공백 1개가 된다. 만약 expr1이 n보다 긴경우에는, 함수는 n에 적합한 expr1의 일부를 반환한다.
인수 n은 터미날 스크린에 표시되는 반환값의 전체 길이이다. 대부분 문자 세트에서, 반환값에서 문자의 수이다. 그러나, 멀티바이트 문자 세트에서는 문자열의 표시되는 길이가 문자열에서 문자의 수와 다를수 있다.
다음 예제는 공백에 * 을 붙여서 급여액의 간단한 그래프를 생성한다:
SELECT last_name, RPAD(' ', salary/1000/1, '*') "Salary"
FROM employees
WHERE department_id = 80
ORDER BY last_name;
LAST_NAME Salary
------------------------- ---------------
Abel **********
Ande *****
Banda *****
Bates ******
Bernstein ********
Bloom *********
Cambrault **********
Cambrault ******
Doran ******
Errazuriz ***********
Fox ********
Greene ********
Hall ********
Hutton *******
Johnson *****
King ********* . . .
출처: http://www.statwith.pe.kr/ORACLE/functions125.htm#i78723
접기
LPAD 접기
LPAD lpad::=
LPAD 함수는 지정된 자리수 n으로부터 expr1을 채우고,왼편의 남은 공간에 expr1을 채운다. 이 함수는 쿼리의 출력 서식에 대하여 유용하다.
인수
expr1
과 인수
expr2 의 데이터 형식은 CHAR,VARCHAR2,NCHAR,NVARCHAR2,CLOB,NCLOB이다. 반환되는 문자열은 VARCHAR2데이터형이고, 인수 expr1과 같은 문자이다. 인수 n은 숫자 정수 또는 암묵적으로 정수로 변환가능한 값이다.
만약 expr2를 지정하지 않는다면, 기본값은 Blank이다. 만약 expr1이 n보다 크다면, 이 함수는 n에 적합한 expr1의 일부를 반환한다.
인수n은 터미널 스크린에서 표시되는 것과 같은 반환값의 전체 Length이다. 대부분의 문자세트에서, 이것은 반환되는 값에서 문자의 숫자이다. 그러나 multibyte문자세트에서는, 문자열의 표시되는 Length가 문자열에서 문자의 숫자로부터 다를수있다.
다음 예제는 문자열의 좌측에 '*.'을 채운다.
SELECT LPAD('Page 1',15,'*.') "LPAD example"
FROM DUAL;
LPAD example
---------------
*.*.*.*.*Page 1 출처: http://www.statwith.pe.kr/ORACLE/functions072.htm#i1371196
접기