2024. 1. 23. 11:01ㆍ자격증/SQLD
문제 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과는 달리 특정 문자는 한 글자만 지정할 수 있다.
'자격증 > SQLD' 카테고리의 다른 글
속성의 분류 (0) | 2024.01.25 |
---|---|
서브쿼리 subquery (1) | 2024.01.24 |
NULL 함수 관련 (0) | 2024.01.22 |
식별자 분류 (0) | 2024.01.17 |
모델링의 특징 (0) | 2024.01.16 |