자격증/SQLD
TRIM 함수
work01
2024. 1. 23. 11:01
문제 1) 다음 SQL의 결과로 가장 적절한 것은?
SELECT LENGTH(RTRIM(COL1,'LE')) + LENGTH(LTRIM(COL2,'DE')) AS RESULT FROM SAMPLE;
[SAMPLE 테이블]
COL1 | COL2 |
ORACLE | DATABASE |
SQL | DEVELOPER |
1)
RESULT |
12 |
10 |
2)
RESULT |
11 |
10 |
3)
RESULT |
11 |
9 |
4)
RESULT |
12 |
9 |
--------------------------------------------------
정답 3)
RETRIM(COL1,'LE') | LTRIM(COL2,'DE') |
ORAC | ATABASE |
SQ | VELOPER |
위의 값의 LEGNTH를 더하면 11, 9 이다.
문제 2) 다음 SQL의 결과로 가장 적절한 것은?
SELECT RTRIM(LTRIM('SQL DEVELOPER' ,'S'), 'SQL') FROM DUAL;
1) DEVELOPER
2) DEVLOPER
3) QL DEVELOPER
4) QL DEVELOPER
--------------------------------------------------
정답 3)
LTRIM 으로 'S'만 지워진다. RTRIM 으로 오른쪽부터 'SQL'이라는 문자열을 찾지만 해당 문자열이 없기 때문에 진행을 멈춘다.
TRIM([위치] [특정문자] [FROM] 문자열) *[]는 옵션
옵션이 하나도 없을 경우 문자열의 왼쪽과 오른쪽 공백을 제거하고, 그렇지 않을 경우 문자열을 위치 (LEADING or TRAILING or BOTH)로 지정된 곳부터 한 글자씩 특정 문자와 비교하여 같으면 제거하고 같지 않으면 멈춘다. LTRIM, RTRIM과는 달리 특정 문자는 한 글자만 지정할 수 있다.
반응형