Oracle 기준으로 다음 SQL 의 결과로 옳은 것은?[도서]도서번호… | [SQLD] SQL 개발자 기출유형 모의고사 5회 상세 페이지
1[SQLD] SQL 개발자 기출유형 모의고사 5회
Oracle 기준으로 다음 SQL 의 결과로 옳은 것은?[도서]
| 도서번호 | 청구기호 |
|---|---|
| 6 | D903.1-2025-07 |
| 7 | K813.7-2026-12 |
| 8 | S400-2024-03 |
SELECT REGEXP_REPLACE(청구기호, '[^0-9]') AS R FROM 도서 WHERE 도서번호 = 7;
1
8137202612
2
K.--
3
813
4
813.7-2026-12
해설
대괄호 안의 ^ 는 부정이라
[^0-9]는 숫자가 아닌 한 글자를 뜻하고, Oracle 의 REGEXP_REPLACE 는 바꿀 문자열을 생략하면 일치한 부분을 지우며 기본으로 모든 일치를 처리한다.K·점·하이픈 두 개가 모두 지워져 숫자만 이어 붙은 8137202612 가 된다.
- 813.7-2026-12 는 첫 번째 일치인 K 만 지운다고 본 결과이다.
- K.-- 는 ^ 를 무시해 숫자를 지운다고 본 결과이다.
- 813 은 첫 숫자 덩어리만 뽑는 REGEXP_SUBSTR 과 혼동한 결과이다.
오류나 개정된 내용이 보이면 알려주세요