2026 SQLD 필기 2과목 1장 3절 | 문자·숫자 함수와 CASE — 객관식 10문제
데이터위자드 ·
필기 · 객관식 4지선다
객관식 4지선다입니다. 정답과 해설은 각 문제 아래를 눌러 확인하세요.
문제 1
문자·숫자 함수와 CASE에서 문자열 길이와 부분 문자열에 대한 설명으로 옳은 것은?
- ① Oracle SUBSTR(문자열,시작위치,길이)는 지정한 부분 문자열을 반환한다.
- ② SUBSTR은 원본 값을 영구 삭제한다.
- ③ 문자 함수는 NULL을 자동으로 숫자 0으로 바꾼다.
- ④ 문자 수와 바이트 수는 모든 문자셋에서 항상 같다.
정답과 해설 보기
정답 ①
LENGTH는 문자 수를 구할 때 쓰며 바이트 길이 함수와 구별합니다. Oracle의 SUBSTR은 위치와 길이로 부분 문자열을 자릅니다. SQL Server는 SUBSTRING을 사용합니다. 제품별 함수명과 시작 위치 규칙을 섞지 마세요. 한글의 문자 수와 저장 바이트 수는 같지 않을 수 있습니다. 전화번호의 일부를 자르거나 코드 접두사를 추출할 때는 공백과 NULL 처리도 확인합니다. 예제에서 사용하는 DBMS를 명시하면 함수를 잘못 외우는 일을 줄일 수 있습니다.
Oracle SUBSTR(문자열,시작위치,길이)는 지정한 부분 문자열을 반환한다.
문제 2
Oracle에서 SUBSTR('ABCDE',2,3)의 결과는?
- ① BCD
- ② CDE
- ③ BCDE
- ④ ABC
정답과 해설 보기
정답 ①
두 번째 문자 B부터 세 글자이므로 BCD입니다.
Oracle SUBSTR(문자열,시작위치,길이)는 지정한 부분 문자열을 반환한다.
문제 3
문자·숫자 함수와 CASE에서 ROUND와 TRUNC에 대한 설명으로 옳은 것은?
- ① ROUND는 반올림하고 TRUNC는 지정 자리 아래를 버린다.
- ② 음수 자릿수는 무조건 오류다.
- ③ TRUNC(-1.8)은 언제나 FLOOR와 같다.
- ④ ROUND와 TRUNC는 모든 값에서 같다.
정답과 해설 보기
정답 ①
ROUND는 지정 자리에서 반올림하고 TRUNC는 해당 자리 아래를 잘라냅니다. ROUND(123.456,2)=123.46, TRUNC(123.456,2)=123.45입니다. 음수 자릿수는 소수점 왼쪽 자리입니다. 원본 값이 바뀌는 계산 함수와 화면에 보이는 자릿수만 바꾸는 표시 형식을 구분하세요. DBMS별 지원 함수명이 다르며 음수 값의 절사와 내림도 같지 않을 수 있습니다. TRUNC(-1.8)= -1인 경우 FLOOR(-1.8)= -2와 구분됩니다.
ROUND는 반올림하고 TRUNC는 지정 자리 아래를 버린다.
문제 4
Oracle에서 ROUND(1234.56,-2)의 결과는?
- ① 1234
- ② 1300
- ③ 1234.6
- ④ 1200
정답과 해설 보기
정답 ④
백의 자리로 반올림하므로 십의 자리 3을 보고 1200이 됩니다.
ROUND는 반올림하고 TRUNC는 지정 자리 아래를 버린다.
문제 5
문자·숫자 함수와 CASE에서 CASE의 평가 순서에 대한 설명으로 옳은 것은?
- ① CASE는 마지막으로 참인 WHEN만 선택한다.
- ② CASE는 WHERE에서만 사용 가능하다.
- ③ CASE는 처음으로 TRUE가 되는 WHEN의 결과를 반환한다.
- ④ ELSE가 없으면 항상 0이다.
정답과 해설 보기
정답 ③
검색 CASE는 위에서부터 처음 TRUE인 WHEN의 결과를 반환합니다. 점수>=90을 먼저 확인한 뒤 >=80을 확인해야 등급이 자연스럽습니다. >=80을 먼저 쓰면 95도 그 조건에서 결정되어 A 분기에 도달하지 못합니다. ELSE가 없고 어떤 조건도 맞지 않으면 NULL입니다. CASE는 조건에 따라 값을 만드는 표현식이므로 SELECT뿐 아니라 ORDER BY나 집계 표현식 안에서도 사용할 수 있습니다. 결과 분기의 자료형도 일관되게 맞추세요.
CASE는 처음으로 TRUE가 되는 WHEN의 결과를 반환한다.
문제 6
점수 95에 WHEN 점수>=80 THEN B, WHEN 점수>=90 THEN A를 적용하면?
- ① B
- ② NULL
- ③ A
- ④ 오류가 항상 발생
정답과 해설 보기
정답 ①
첫 조건 >=80이 이미 참이므로 B가 반환됩니다. 높은 기준을 먼저 검사해야 합니다.
CASE는 처음으로 TRUE가 되는 WHEN의 결과를 반환한다.
문제 7
문자·숫자 함수와 CASE에서 치환 함수와 자료형에 대한 설명으로 옳은 것은?
- ① 모든 NULL 치환 함수는 자료형 규칙까지 동일하다.
- ② COALESCE는 처음으로 NULL이 아닌 인수를 반환한다.
- ③ COALESCE는 가장 큰 숫자를 반환한다.
- ④ NULL과 0은 항상 같은 값이다.
정답과 해설 보기
정답 ②
COALESCE는 왼쪽부터 처음 NULL이 아닌 값을 반환합니다. Oracle NVL은 대체 값을 제공하며 SQL Server ISNULL과 지원 방식이 다릅니다. 반환 자료형과 암시적 변환 규칙이 다를 수 있으므로 함수 이름만 바꿔도 모든 경우가 같다고 보지 마세요. 숫자 금액의 대체 값으로 문자열 미입력을 섞으면 변환 오류가 날 수 있습니다. 집계 전에 0으로 치환하는지 집계 결과가 NULL일 때 0으로 치환하는지도 결과 의미가 다릅니다.
COALESCE는 처음으로 NULL이 아닌 인수를 반환한다.
문제 8
COALESCE(NULL,NULL,0,10)의 결과는?
- ① NULL
- ② 문자열 NULL
- ③ 10
- ④ 0
정답과 해설 보기
정답 ④
0은 NULL이 아니므로 세 번째 인수에서 반환이 결정됩니다.
COALESCE는 처음으로 NULL이 아닌 인수를 반환한다.
문제 9
문자·숫자 함수와 CASE에서 명시적 형 변환에 대한 설명으로 옳은 것은?
- ① 날짜 문자열은 어떤 환경에서나 자동으로 같은 뜻이다.
- ② 암시적 변환은 오류가 날 수 없다.
- ③ 문자열로 보이는 날짜는 시간값을 가질 수 없다.
- ④ 날짜 문자열 변환은 형식을 명시하면 환경 의존성을 줄일 수 있다.
정답과 해설 보기
정답 ④
명시적 변환은 날짜·숫자·문자 간 변환 의도를 함수로 드러내는 방법입니다. Oracle TO_DATE에는 입력 문자열과 형식 모델을 함께 적습니다. 세션의 기본 날짜 형식에 의존하면 다른 환경에서 오류나 오해가 생길 수 있습니다. 숫자 컬럼을 문자열과 비교할 때 DBMS가 자동 변환해 줄 수 있어도 잘못된 데이터나 실행계획 문제를 만들 수 있습니다. 표시를 위해 날짜를 문자열로 바꾸는 것과 날짜 자체로 범위 비교하는 일을 분리하세요.
날짜 문자열 변환은 형식을 명시하면 환경 의존성을 줄일 수 있다.
문제 10
Oracle에서 2026-11-07을 날짜로 해석하는 명확한 표현은?
- ① TO_NUMBER('2026-11-07')
- ② ROUND('2026-11-07')
- ③ LENGTH('2026-11-07')
- ④ TO_DATE('2026-11-07','YYYY-MM-DD')
정답과 해설 보기
정답 ④
문자열 형식 YYYY-MM-DD를 지정해 날짜로 변환합니다.
날짜 문자열 변환은 형식을 명시하면 환경 의존성을 줄일 수 있다.
범위 확인
2026년 학습 범위를 기준으로 구성했습니다. 시험 시행기관의 자격 안내·출제 기준에서 과목과 변경 공지를 확인할 수 있습니다.
SQLD 전체 목차
과목별 이론
- 1과목 · 1장 1~3절 · 데이터 모델·엔터티·속성
- 1과목 · 1장 4~5절 · 관계·식별자와 카디널리티
- 1과목 · 2장 1~3절 · 정규화·조인·트랜잭션 모델
- 1과목 · 2장 4~5절 · NULL·본질식별자·인조식별자
- 2과목 · 1장 1~2절 · 관계형 DB와 SELECT·DISTINCT
- 2과목 · 1장 3절 · 문자·숫자 함수와 CASE
- 2과목 · 1장 4절 · WHERE·날짜 범위·연산자 우선순위
- 2과목 · 1장 5~6절 · 집계·GROUP BY·HAVING·ORDER BY
- 2과목 · 1장 7~8절 · INNER·OUTER·표준 조인
- 2과목 · 2장 1절 · 서브쿼리·EXISTS·스칼라 서브쿼리
- 2과목 · 2장 2~3절 · 집합 연산·ROLLUP·CUBE·GROUPING
- 2과목 · 2장 4~5절 · 윈도우 함수·순위·Top N
- 2과목 · 2장 6~8절 · 계층형 질의·셀프 조인·PIVOT·정규표현식
- 2과목 · 3장 1~2절 · DML·TCL과 트랜잭션
- 2과목 · 3장 3~4절 · DDL·DCL·제약조건·권한
단원별 객관식
- 1과목 · 1장 1~3절 · 데이터 모델·엔터티·속성
- 1과목 · 1장 4~5절 · 관계·식별자와 카디널리티
- 1과목 · 2장 1~3절 · 정규화·조인·트랜잭션 모델
- 1과목 · 2장 4~5절 · NULL·본질식별자·인조식별자
- 2과목 · 1장 1~2절 · 관계형 DB와 SELECT·DISTINCT
- 2과목 · 1장 3절 · 문자·숫자 함수와 CASE
- 2과목 · 1장 4절 · WHERE·날짜 범위·연산자 우선순위
- 2과목 · 1장 5~6절 · 집계·GROUP BY·HAVING·ORDER BY
- 2과목 · 1장 7~8절 · INNER·OUTER·표준 조인
- 2과목 · 2장 1절 · 서브쿼리·EXISTS·스칼라 서브쿼리
- 2과목 · 2장 2~3절 · 집합 연산·ROLLUP·CUBE·GROUPING
- 2과목 · 2장 4~5절 · 윈도우 함수·순위·Top N
- 2과목 · 2장 6~8절 · 계층형 질의·셀프 조인·PIVOT·정규표현식
- 2과목 · 3장 1~2절 · DML·TCL과 트랜잭션
- 2과목 · 3장 3~4절 · DDL·DCL·제약조건·권한
실습
- SQL 학습 실습 1 · 6작업 · SELECT·조건·정렬
- SQL 학습 실습 2 · 6작업 · NULL·COUNT·평균
- SQL 학습 실습 3 · 6작업 · 날짜 범위·문자 조건
- SQL 학습 실습 4 · 6작업 · GROUP BY·HAVING·조건부 합계
- SQL 학습 실습 5 · 6작업 · 조인·행 수·미주문 고객
- SQL 학습 실습 6 · 6작업 · 서브쿼리·EXISTS·NOT EXISTS
- SQL 학습 실습 7 · 6작업 · 순위·동률·고객별 Top N
- SQL 학습 실습 8 · 6작업 · 집합 연산·조건부 피벗·전체 검산
필기 모의고사
예상 모의문제입니다.