728x90
반응형
SMALL
oracle은 TRIM, LTRIM, RTRIM 내장함수가 있다.
역할을 많은 분들이 예상하시는 그런 역할. 그렇다. 문자열 제거, 공백 제거이다.
함수이름만 들어도 짐작이 가는 사람들도 많을 듯.ㅎㅎ
기능>
LTRIM - 컬럼에서 지정한 문자를 왼쪽에서 제거한 결과를 반환한다.
RTRIM - 컬럼에서 지정한 문자를 오른쪽에서 제거한 결과를 반환한다.
TRIM - 컬럼에서 지정한 문자를 양쪽에서 제거한 결과를 반환한다.
LTRIM(컬럼, 제거할 문자)
-> 왼쪽에서부터 찾아서 제거
RTRIM(컬럼, 제거할 문자)
-> 오른족에서부터 찾아서 제거
TRIM ([LEADING, TRAILING, BOTH] 제거할 문자 [FROM] 컬럼)
-> LEADING : 왼쪽에서 제거
-> TRAILING : 오른쪽에서 제거
-> BOTH : 양쪽에서 제거
특별히 설정을 안해주면 기본값은 BOTH이며, 제거할 문자는 오직 1개이다.
예제1) LTRIM, RTRIM
SELECT LTRIM(' 사슴은 초식동물') AS LTRIM_1
,RTRIM('사슴은 초식동물 ') AS RTRIM_2
,RTRIM('사슴은 초식동물', '초식') AS RTRIM_3
,RTRIM('사슴은 초식동물', '동물') AS RTRIM_4
FROM DUAL;
결과>
LTRIM_1 RTRIM_2 RTRIM_3 RTRIM_4
사슴은 초식동물 사슴은 초식동물 사슴은 초식동물 사슴은 초식
LTRIM_1은 앞의 공백이 제거된것이고, RTRIM_2는 뒤의 공백이 제거된것이고, RTRIM_3은 가장 오른쪽이 '초식'이 아니기 때문에 그대로 나온다.
예제2) TRIM
SELECT TRIM(' 사슴은 초식동물') AS TRIM_1
,TRIM('사' FROM '사슴은 초식동물 고생하는 관리사') AS TRIM_2
,TRIM(BOTH '사' FROM '사슴은 초식동물 고생하는 관리사') AS TRIM_3
,TRIM(LEADING '사' FROM '사슴은 초식동물 고생하는 관리사' AS TRIM_4
,TRIM(TRAILING '사' FROM '사슴은 초식동물 고생하는 관리사') AS TRIM_5
FROM DUAL;
결과>
TRIM_1 TRIM_2 TRIM_3
사슴은 초식동물 슴은 초식동물 고생하는 관리 슴은 초식동물 고생하는 관리
TRIM_4 TRIM_5
슴은 초식동물 고생하는 관리사 사슴은 초식동물 고생하는 관리
MySQL만 쓰다가 Oracle을 쓰는데, 옵티마이저, 힌트를 비롯해서 오라클이 역시 좀더 묵직하다라는 느낌을 받는다.
기본함수를 잘 알아둬야 쿼리 작성의 생산성이 더 높아질 수 있겠다.
728x90
반응형
LIST
'Oracle' 카테고리의 다른 글
ORA-01722 invalid number:수치가 부적합 합니다. (0) | 2020.11.06 |
---|---|
oracle 실수로 지운 데이터 복구 쿼리 (TIMESTAMP) (0) | 2020.11.05 |
oracle ROUND, CEIL, FLOOR, TRUNC, MOD (0) | 2020.11.05 |
Oracle LPAD 함수 (0) | 2020.11.05 |
oracle NVL 내장 함수 (0) | 2020.11.05 |