2023. 10. 5. 16:06ㆍdatabase
관련자료 spring_1005.spl
LTRIM(char, [set]) - char의 좌측부터 set에 포함되지 않은 문자를 만날 때까지 set에 포함된 문자를 제거한다.
RTRIM(char, [set]) - char 우측부터 set에 포함되지 않은 문자를 만날 때까지 set에 포함된 문자를 제거한다.
LTRIM('ABC', 'BC') -> 'ABC' 왼쪽이 'A'이다 'BC'에 'A'가 포함되지 않아서 'ABC' 출력된다.
LTRIM()으로 왼쪽 공백이나 숫자문자열을 제거하고,
RTRIM()으로 오른쪽 공백이나 숫자문자열을 제거한다
이 함수로 공백과 숫자문자열을 제거해서 이름만 출력할 수 있다.
RTRIM(LTRIM(속성명, '제거문자열SET'), 'SET') - 양방향에서 SET에 포함된 문자열 제거
TRIM ([옵션] 제거문자열 FROM 대상문자열)
[옵션]
BOTH -> 양쪽에서 제거문자열을 제거한다 하지만 대상문자열에서 제거문자열에 포함되지 않은 문자가 있으면 그 상태에서 출력되거나 다른 함수로 매개변수로 전달된다.
LEADING -> 대상문자열 왼쪽에서 제거문자열을 제거하다가 제거문자열이 없으면 제거를 멈춘다
TRAILING -> 대상문자열 오른쪽에서 제거문자열을 제거하다가 제거문자열이 없으면 제거를 멈춘다
TRIM(TRAILING 'B' FROM 'AAB ') FROM DUAL -> 에서 오른쪽 공백때문에 'B'가 제거되지 않아 'AAB'가 출력된다
하지만 대상문자열에 공백이 없으면 오른쪽 B가 제거되어 AA가 출력된다
TRIM('AAB ') FROM DUAL -> TRIM의 기본이 BOTH이므로 생략되었더라고 양방향에서 공백이 제거된다.
BOTH 같은 옵션이 없고 제거문자열이 없으므로 FROM 키워드 생략되어도 공백제거가 된다.
BOTH, FROM 생략
TRIM() 사용할 때 LEADING, TRAILING 옵션 없이 사용해도 'A', 'B'가 제거된다
'database' 카테고리의 다른 글
Oracle 11 TO_CHAR() (0) | 2023.10.06 |
---|---|
Oracle 10 SUBSTR(), REPLACE(), TRANSLATE(), INSTR(), SYSTIMESTAMP() (1) | 2023.10.06 |
Oracle 08 LPAD, RPAD (0) | 2023.10.05 |
Oracle 07 연결연산자, AS 키워드, NVL2(), 아스키코드 (0) | 2023.10.05 |
Oracle 06 서브 쿼리, ANY 키워드, ORDER BY 정렬, distinct (0) | 2023.10.05 |