SQLDSQL 활용REGEXP_SUBSTR난이도 3MCQ

SQLD REGEXP_SUBSTR 기출문제 #3633

문제

다음 SQL의 실행 결과로 가장 적절한 것은?

SQL
SELECT REGEXP_SUBSTR('abcd', 'b\*c') AS COL1, REGEXP_SUBSTR('abcd', 'b*c') AS COL2 FROM DUAL;

① NULL, bc ② bc, NULL ③ bc, bc ④ NULL, NULL

정답

1

해설

정답: 1. 'b*c'는 문자 그대로 bc를 찾으므로 매칭되지 않아 NULL이고, 'bc'는 b가 0회 이상 반복된 뒤 c가 오는 패턴으로 bc에 매칭된다.

오답 풀이

  • 1번: 정규식 해석에 맞는 결과이다.
  • 2번: 이스케이프된 별표와 메타문자 별표의 의미를 반대로 해석했다.
  • 3번: 원문 문자열에 b*c가 없으므로 COL1은 bc가 아니다.
  • 4번: COL2는 bc에 매칭된다.

보충 개념 정규식에서 *는 앞 문자가 0회 이상 반복됨을 의미한다. 문자 그대로의 *를 찾으려면 이스케이프 처리가 필요하다.

SQLD 시험 준비 가이드

이런 문제 20~50개를 한 번에 풀어보세요

매번 새로 추가되는 모의고사 + 오답 자동 복습 + 회차별 실력 추적. 회원가입 후 무료 이용.

[SQLD] REGEXP_SUBSTR SQL 활용 기출 #3633 | 문어CBT