반응형
SAP 전송을 하면서 SAP 형식에 따라 데이터를 넣어야 하는 경우 LPAD와 RPAD 함수를 많이 사용한다. SAP에서 사용하는 데이터는 16자리인데, 우리가 만든 데이터에서는 12자리인 경우에는 0을 채워야 한다.
예를 들어, PU1234567891인 경우(12자리)에는 PU12345678910000(16자리)로 0을 채워 넣어주면 된다. 이럴 때 왼쪽과 오른쪽 등에 채워줄 때 사용하는 것이 LPAD와 RPAD다.
1. LPAD
LPAD는 왼쪽을 기준으로, 특정 데이터에 지정한 자릿수만큼, 특정한 문자로 채운다.
- 함수 : LPAD(데이터, 자릿수, 특정 문자)
SELECT LPAD(123, 10, '0')
, LPAD(234, 10, 'A')
, LPAD(345, 10, 'H')
, LPAD(567, 10, ' ')
FROM DUAL
위의 결과와 같이, 123일 때 왼쪽에서부터 0, A, H, 공백같이 채워 넣을 수 있다.
2. RPAD
RPAD는 오른쪽을 기준으로, 특정 데이터에 지정한 자릿수만큼, 특정한 문자로 채운다.
- 함수 : RPAD(데이터, 자릿수, 특정 문자)
SELECT RPAD(123, 10, '0')
, RPAD(234, 10, 'A')
, RPAD(345, 10, 'H')
, RPAD(567, 10, ' ')
FROM DUAL
위의 결과와 같이, 123일 때 오른쪽에서부터 0, A, H, 공백같이 채워 넣을 수 있다.
예제로, 아래와 같이 사용하기도 한다.
SELECT LPAD(SEQ_TEST2.NEXTVAL,16,'0') AS TEMP FROM DUAL
반응형
'IT > 티베로(Tibero)' 카테고리의 다른 글
[티베로/Tibero] tibero_tibero is stopped or disabled. please confirm the service state or event logs 문제 해결 방법 (0) | 2022.09.26 |
---|---|
[티베로/Tibero] 티베로(Tibero) 주석 단축키 (0) | 2022.08.19 |
[티베로/Tibero] 티베로(Tibero) NULL INDEX 거는 방법 (0) | 2022.07.28 |
[티베로/Tibero] 티베로(Tibero) DB 테이블 이름 변경하는 방법 (0) | 2022.05.19 |
[쿼츠/Quartz] select * from qrtz_locks where sched_name = 'schedulerFactory' and lock name = 'TRIGGER_ACCESS' for update 문제 해결 방법 (0) | 2022.05.03 |
[티베로/Tibero] 티베로(Tibero) 개행문자 확인하는 방법 (0) | 2022.05.01 |
[티베로/Tibero] 티베로(Tibero) 이메일 아이디만 추출하는 방법 (0) | 2022.04.27 |
java.sql.BatchUpdateException: JDBC-8026:Invalid identifier. 문제 해결 방법 (0) | 2022.04.20 |
최근댓글