Oracle 기준으로 다음 SQL 의 실행 결과로 옳은 것은?[송장]송… | [SQLD] SQL 개발자 기출유형 모의고사 8회 상세 페이지
1[SQLD] SQL 개발자 기출유형 모의고사 8회
Oracle 기준으로 다음 SQL 의 실행 결과로 옳은 것은?[송장]
| 송장번호 |
|---|
| SE-12-0300 |
| BU7-4410 |
| GJ-905 |
| IC-X |
SELECT 송장번호,
REGEXP_SUBSTR(송장번호, '[0-9]+') AS 숫자1,
REGEXP_REPLACE(송장번호, '-[0-9]+', '') AS 정리
FROM 송장
ORDER BY 송장번호;1
| 송장번호 | 숫자1 | 정리 |
|---|---|---|
| BU7-4410 | 4410 | BU7 |
| GJ-905 | 905 | GJ |
| IC-X | (null) | IC-X |
| SE-12-0300 | 12 | SE |
2
| 송장번호 | 숫자1 | 정리 |
|---|---|---|
| BU7-4410 | 7 | BU7 |
| GJ-905 | 905 | GJ |
| IC-X | (null) | IC-X |
| SE-12-0300 | 12 | SE |
3
| 송장번호 | 숫자1 | 정리 |
|---|---|---|
| BU7-4410 | 7 | BU7 |
| GJ-905 | 905 | GJ |
| IC-X | (null) | (null) |
| SE-12-0300 | 12 | SE |
4
| 송장번호 | 숫자1 | 정리 |
|---|---|---|
| BU7-4410 | 7 | BU7 |
| GJ-905 | 905 | GJ |
| IC-X | (null) | IC-X |
| SE-12-0300 | 12 | SE-0300 |
해설
REGEXP_SUBSTR 는 왼쪽부터 찾은 첫 번째 일치를 돌려주므로 BU7-4410 은 7, 숫자가 없는 IC-X 는 NULL 이다.
Oracle 의 REGEXP_REPLACE 는 발생 위치를 주지 않으면 모든 일치를 바꾸므로 SE-12-0300 의 -12 와 -0300 이 함께 지워지고, 일치가 없는 IC-X 는 원문 그대로 남는다.
- BU7-4410 이 4410 인 결과는 가장 긴 숫자를 고른다고 본 경우이다.
- SE-0300 결과는 첫 번째 일치만 바꾼다고 본 경우이다.
- IC-X 의 정리가 NULL 인 결과는 일치가 없으면 NULL 을 돌려준다고 본 경우이다.
오류나 개정된 내용이 보이면 알려주세요
이어서 풀어보기
[SQLD] SQL 개발자 기출유형 모의고사 8회 50문항 이어서 보기문제·정답·해설을 한 페이지에서 이어서 볼 수 있어요비슷한 기출
- 다음sql결과에알맞는쿼리을작성하시오. selectname,scorefrom성적(1)by(2)(3) 1.order 2.score 3.desc2022년 정보처리기사실기 1회차
- sql문에서괄호안에알맞은답안을작성하시오. ('이름'이란컬럼에'이'로시작하는문자열을'내림차순'하는쿼리결과내용입니다.) select....from...where이름l2021년 정보처리기사실기 2회차
- 다음sql보기에서join할경우괄호안에알맞는문장을작성하시오. select....from학생정보ajoin학과정보b(1)a.학과=b.(2) 1.on 2.학과2021년 정보처리기사실기 2회차