본문 바로가기
→ 프로그래밍.데이터베이스/DB,SQL

[ORACLE] LPAD RPAD 함수 :: 문자길이 채우기

by jjo_Mean 2016. 11. 1.

[ 오라클 LPAD RPAD 함수 ]







이번엔 오라클 함수 LPAD와 RPAD에 대해 포스팅을 하려고합니다.


오늘 일을 하다가 '0003'으로 저장을 한 후, 조회를 해보면 무조건 '3'으로 출력이되길래 테이블을 확인해보니 해당 컬럼 타입이 NUMBER 타입

이더라구요ㅠㅠ.. NUMBER타입은 앞에 앞에 0을 입력해도 다 무시되서 '3'으로만 출력이되요ㅠ

설계자분이 그 칼럼을 NUMBER로 설계해주셔서 내맘대로 테이블을 수정은 못하고...ㅠㅠ출력은 무조건 '0003'으로 되야한다고 해서 오라클 함수를 찾아봤어요.ㅋㅋㅋㅋㅋ


해당칼럼을 테이블에서 NUMBER가 아닌 VARCHAR형식으로 바꿔주면 해결될 문제지만 NUMBER 타입으로 가야한다면

오라클 함수 LPAD와 RPAD를 활용해보세요!!


오라클 함수에는 많은 문자 함수들이 많아요.

저도 사용하는대로 천천히 포스팅 해드릴거지만, 오늘은 제가 일하다 찾아본 LPAD와 RPAD에 대해서 알려드릴게요.



- LPAD(LEFT PADDING)

- RPAD(RIGHT PADDING)


 각각 풀어 쓰면 이렇게 뜻하는데 함수 사용자가 직접 지정한 고정길이에서 채워지지 않은 부분을 원하는 문자로 채울 수 있는 함수입니다.

LPAD, RPAD는 말그대로 왼쪽으로 문자를 채우냐, 오른쪽으로 채우냐를 구분하는 거겠죠???



- LPAD 사용법


SELECT LPAD('3', 4, '0')AS TEST_LPAD FROM DUAL;


출력결과 : 0003


- RPAD 사용법


SELECT RPAD('3', 4, '0')AS TEST_RPAD FROM DUAL; 


출력결과 : 3000




LPAD 함수는 세개의 파라미터를 셋팅해줘야됩니다. 먼저 위 SELECT 쿼리를 보시면 


첫번째 파라미터 '3'은 데이터에요. 즉, 자신의 데이터가 들어있는 컬럼을 적어주시면됩니다.


두번째있는 '4'는 자릿수에요. 자신이 지정하고 싶은 자릿수를 적어주세요~


세번째 마지막으로 들어가는 파라미터가 왼쪽이나 오른쪽 빈공간에 채워주고싶은 문자를 입력해주시면됩니다.



참 쉽죠오????ㅋㅋ정말 유용한 함수같아요ㅋㅋㅋ


※ MSSQL에서는 REPLICATE('채울문자,'지정길이',- LEN('칼럼')) 이 함수를 사용하는거같으니 참고하세요~