[SQL] 021. 특정 철자를 N개 만큼 채우기

Updated:

초보자를 위한 SQL 200제 교재를 토대로 공부한 내용입니다.

오라클 SQL을 기반으로 합니다.

실습에 사용한 테이블은 정보문화사 홈페이지에서 받을 수 있습니다.


LPAD, RPAD를 이용해서 특정 철자를 N개 만큼 채울 수 있다.

  • LPAD(컬럼, 자리수, 채울문자): 컬럼 값에서 나머지 자리수만큼 왼쪽에 채울 문자로 출력

  • RPAD(컬럼, 자리수, 채울문자): 컬럼 값에서 나머지 자리수만큼 오른쪽에 채울 문자로 출력

[예시]

SAL의 자리수를 10으로 설정하고 나머지 공간을 ★로 채운다.

SELECT ENAME, LPAD(SAL, 10, '★') AS SAL1, RPAD(SAL, 10, '★') AS SAL2
FROM EMP;

[결과]

ENAME SAL1 SAL2
KING ★★★★★★5000 5000★★★★★★
BLAKE ★★★★★★2850 2850★★★★★★
CLARK ★★★★★★2450 2450★★★★★★
JONES ★★★★★★2975 2975★★★★★★
MARTIN ★★★★★★1250 1250★★★★★★
ALLEN ★★★★★★1600 1600★★★★★★
TURNER ★★★★★★1500 1500★★★★★★
JAMES ★★★★★★★950 950★★★★★★★
WARD ★★★★★★1250 1250★★★★★★
FORD ★★★★★★3000 3000★★★★★★
SMITH ★★★★★★★800 800★★★★★★★
SCOTT ★★★★★★3000 3000★★★★★★
ADAMS ★★★★★★1100 1100★★★★★★
MILLER ★★★★★★1300 1300★★★★★★

[예시2]

다음 예시는 PAD를 응용해서 1,000당 ■ 하나로 BAR CHART를 생성한다.

SELECT ENAME, SAL, LPAD('■',ROUND(SAL/1000,0),'■') AS BAR_CHART
FROM EMP;

[결과2]

ENAME SAL BAR_CHART
KING 5000 ■■■■■
BLAKE 2850 ■■■
CLARK 2450 ■■
JONES 2975 ■■■
MARTIN 1250
ALLEN 1600 ■■
TURNER 1500 ■■
JAMES 950
WARD 1250
FORD 3000 ■■■
SMITH 800
SCOTT 3000 ■■■
ADAMS 1100
MILLER 1300

Tags:

Categories:

Updated:

Leave a comment