일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- spring
- url 변환
- SQL
- url 치환
- 오라클
- JavaScript
- 배열
- set
- Java
- 형변환
- Oracle
- 이름 마스킹
- JSX
- 원펀맨: 최강의 남자
- 원펀맨
- 자바스크립트
- 개발
- forEach
- JSTL
- 맛집
- 모바일게임
- table
- 리액트
- array
- 자바
- html
- React
- JS
- 스프링
- jQuery
Archives
- Today
- Total
특별한 일상
[SQL] 오라클 문자열 반환 (Oracle LTRIM, RTRIM, LPAD, RPAD) 본문
반응형
오라클 SQL을 사용시 문자열을 반환하는 방법이 여러가지 있는데..
이번 포스팅에서는 문자열을 왼쪽 또는 오른쪽에서 삭제 및 추가하는 함수에 대해 알아보겠습니다.
대부분 앞에 0을 붙이거나 뒤에 0을 붙이거나
글자를 자르고 싶을때 쓰이기도 하는데 자세하게 사용방법을 알아보겠습니다.
1. LTRIM
사용방법 : LTRIM(문자, 제거할문자)
; 왼쪽 끝에서 제거한 후 나머지 문자열을 반환.
2. RTRIM
사용방법 : RTRIM(문자, 제거할문자)
; 오른쪽 끝에서 제거한 뒤 나머지 문자열을 반환.
SELECT
LTRIM('123000123', '123') AS test01,
LTRIM('가나다라마', '가') AS test02,
RTRIM('123000123', '123') AS test03,
RTRIM('가나다라마', '마') AS test04
FROM
DUAL;
---- 결과 ----
결과와 같이 명시된 문자를 한번씩만 제거하는걸 볼 수 있습니다.
LTRIM, RTRIM은 왼쪽과 오른쪽 기준으로 문자를 제거하는데 여기서
만약 해당 문자를 제거 하는데에 있어 제거하려는 문자가 가운데에 있다면 문자열을 그대로 반환합니다.
SELECT
LTRIM('000123000', '123') AS test01_1,
LTRIM('나나가나나', '가') AS test02_1,
RTRIM('000123000', '123') AS test03_1,
RTRIM('다다나다다', '마') AS test04_1
FROM
DUAL;
---- 결과 ----
3. LPAD
사용방법 : LPAD(문자, n자리, 추가할문자)
; 매개변수로 들어온 '문자'를 n자리만큼 왼쪽부터 채워 '추가할문자'를 반환.
4. RPAD
사용방법 : RPAD(문자, n자리, 추가할문자)
; 매개변수로 들어온 '문자'를 n자리만큼 오른쪽부터 채워 '추가할문자'를 반환.
SELECT
LPAD('TEST', 6, '00') AS LPAD_TEST01,
LPAD(MAX(1) + 1, 4, 0) AS LPAD_TEST02,
LPAD(MAX(1) + 1, 5, 40) AS LPAD_TEST03,
'00' || 'TEST' AS TEST01,
RPAD('TEST', 6, '00') AS RPAD_TEST01,
RPAD(MAX(1) + 1, 4, 0) AS RPAD_TESt02,
RPAD(MAX(1) + 1, 5, 30) AS RPAD_TESt03
FROM
DUAL;
---- 결과 ----
결과와 같이 문자의 갯수만큼 자릿수를 적고
추가할문자가 문자일 경우는 문자를 그대로 반환.
숫자는 하나 또는 여러개를 적고 자리수만큼 반환하는 결과가 나오는걸 확인할 수 있습니다.
물론 문자나 숫자가 정해진 자리수를 넘어가면 결과에 나오지 않고 짤린 형태로 나오게 됩니다.
※ 문자열에 대해 n자리만큼 추가하는 것은 대부분 '일련번호'를 생성하거나 문서의 '서식번호' 등에 쓰입니다.
'IT•개발 끄적 > SQL' 카테고리의 다른 글
[SQL] Oracle TO_CHAR, TO_NUMBER, TO_DATE 데이터 타입 변환 (오라클 변환 함수) (0) | 2021.06.02 |
---|---|
[SQL] 오라클 트리거 생성, 삭제(oracle trigger) (0) | 2021.05.10 |
[SQL] 오라클 삽입문 반복 방법, Oracle insert LOOP FOR(PL/SQL) (0) | 2021.05.05 |
[SQL] 오라클 비밀번호 만료(ORA-28001: the password has expired) (0) | 2021.04.29 |
[SQL] Oracle insert, update, merge ,delete 알아보기 (0) | 2021.04.23 |
Comments