문제
다음 SQL의 결과는? (Oracle)
SQLSELECT INSTR('데이터베이스 관리', '데이', 1, 2), REPLACE(TRANSLATE('ABCD123', 'ABC', 'XYZ'), '123', 'END') FROM DUAL;
① 0, XYZD123 ② 1, XYZD123 ③ 0, XYZDEND ④ 1, XYZDEND
정답
3번
해설
INSTR('데이터베이스 관리', '데이', 1, 2)는 1번째 위치부터 시작하여 '데이'의 2번째 출현을 찾는데, '데이'는 문자열에서 한 번만 나타나므로 0을 반환합니다. TRANSLATE('ABCD123', 'ABC', 'XYZ')는 A→X, B→Y, C→Z로 변환하여 'XYZD123'이 되고, 이를 REPLACE로 '123'을 'END'로 치환하면 'XYZDEND'가 됩니다.