학습용 기출·복원자료 분류 확인SQLD · 2025년 58회 SQL 기본 및 활용 · 11번
다음 중 문자열 처리 함수의 실행 결과가 나머지 셋과 다른 하나는? (Oracle 기준)?
1
SELECT TRIM('xxSQLxx', 'x') FROM DUAL;
정답 근거Oracle TRIM은 제거 문자와 원본 문자열을 FROM으로 연결하므로 이 문장은 인수 개수 오류가 발생한다. 따라서 1번 보기 ‘SELECT TRIM('xxSQLxx', 'x') FROM DUAL;’의 적용 여부를 문제 조건과 대조해야 한다.
2
SELECT RTRIM('SQLxx', 'x') FROM DUAL;
오답 이유RTRIM은 문자열 오른쪽의 x를 모두 제거해 SQL을 반환하므로 정상 실행된다. 따라서 2번 보기 ‘SELECT RTRIM('SQLxx', 'x') FROM DUAL;’의 적용 여부를 문제 조건과 대조해야 한다.
3
SELECT REPLACE('xxSQLxx', 'x') FROM DUAL;
오답 이유REPLACE는 문자열 전체의 x를 빈 문자열로 바꾸어 SQL을 반환하므로 정상 실행된다. 따라서 3번 보기 ‘SELECT REPLACE('xxSQLxx', 'x') FROM DUAL;’의 적용 여부를 문제 조건과 대조해야 한다.
4
SELECT LTRIM('xxSQL', 'x') FROM DUAL;
오답 이유LTRIM은 문자열 왼쪽의 x를 모두 제거해 SQL을 반환하므로 정상 실행된다. 따라서 4번 보기 ‘SELECT LTRIM('xxSQL', 'x') FROM DUAL;’의 적용 여부를 문제 조건과 대조해야 한다.
ANSWER & EXPLANATION
정답 1번
핵심 판단은 1번 ‘SELECT TRIM('xxSQLxx', 'x') FROM DUAL;’입니다. Oracle의 TRIM은 TRIM('x' FROM 문자열) 형태를 사용한다. TRIM('xxSQLxx', 'x')처럼 인수를 쉼표로 나열하면 ORA-00909 오류가 발생하지만 RTRIM, REPLACE, LTRIM 문장은 모두 SQL을 반환한다.