2026 SQLD 필기 2과목 1장 3절 | 문자·숫자 함수와 CASE — 객관식 10문제

데이터위자드 ·

2026 SQLD 필기 2과목 1장 3절 | 문자·숫자 함수와 CASE — 객관식 10문제

필기 · 객관식 4지선다

풀이 방법

객관식 4지선다입니다. 정답과 해설은 각 문제 아래를 눌러 확인하세요.

문제 1

문자·숫자 함수와 CASE에서 문자열 길이와 부분 문자열에 대한 설명으로 옳은 것은?

  1. ① Oracle SUBSTR(문자열,시작위치,길이)는 지정한 부분 문자열을 반환한다.
  2. ② SUBSTR은 원본 값을 영구 삭제한다.
  3. ③ 문자 함수는 NULL을 자동으로 숫자 0으로 바꾼다.
  4. ④ 문자 수와 바이트 수는 모든 문자셋에서 항상 같다.
정답과 해설 보기

정답 ①

LENGTH는 문자 수를 구할 때 쓰며 바이트 길이 함수와 구별합니다. Oracle의 SUBSTR은 위치와 길이로 부분 문자열을 자릅니다. SQL Server는 SUBSTRING을 사용합니다. 제품별 함수명과 시작 위치 규칙을 섞지 마세요. 한글의 문자 수와 저장 바이트 수는 같지 않을 수 있습니다. 전화번호의 일부를 자르거나 코드 접두사를 추출할 때는 공백과 NULL 처리도 확인합니다. 예제에서 사용하는 DBMS를 명시하면 함수를 잘못 외우는 일을 줄일 수 있습니다.

기억할 핵심

Oracle SUBSTR(문자열,시작위치,길이)는 지정한 부분 문자열을 반환한다.

문제 2

Oracle에서 SUBSTR('ABCDE',2,3)의 결과는?

  1. ① BCD
  2. ② CDE
  3. ③ BCDE
  4. ④ ABC
정답과 해설 보기

정답 ①

두 번째 문자 B부터 세 글자이므로 BCD입니다.

기억할 핵심

Oracle SUBSTR(문자열,시작위치,길이)는 지정한 부분 문자열을 반환한다.

문제 3

문자·숫자 함수와 CASE에서 ROUND와 TRUNC에 대한 설명으로 옳은 것은?

  1. ① ROUND는 반올림하고 TRUNC는 지정 자리 아래를 버린다.
  2. ② 음수 자릿수는 무조건 오류다.
  3. ③ TRUNC(-1.8)은 언제나 FLOOR와 같다.
  4. ④ 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)의 결과는?

  1. ① 1234
  2. ② 1300
  3. ③ 1234.6
  4. ④ 1200
정답과 해설 보기

정답 ④

백의 자리로 반올림하므로 십의 자리 3을 보고 1200이 됩니다.

기억할 핵심

ROUND는 반올림하고 TRUNC는 지정 자리 아래를 버린다.

문제 5

문자·숫자 함수와 CASE에서 CASE의 평가 순서에 대한 설명으로 옳은 것은?

  1. ① CASE는 마지막으로 참인 WHEN만 선택한다.
  2. ② CASE는 WHERE에서만 사용 가능하다.
  3. ③ CASE는 처음으로 TRUE가 되는 WHEN의 결과를 반환한다.
  4. ④ 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를 적용하면?

  1. ① B
  2. ② NULL
  3. ③ A
  4. ④ 오류가 항상 발생
정답과 해설 보기

정답 ①

첫 조건 >=80이 이미 참이므로 B가 반환됩니다. 높은 기준을 먼저 검사해야 합니다.

기억할 핵심

CASE는 처음으로 TRUE가 되는 WHEN의 결과를 반환한다.

문제 7

문자·숫자 함수와 CASE에서 치환 함수와 자료형에 대한 설명으로 옳은 것은?

  1. ① 모든 NULL 치환 함수는 자료형 규칙까지 동일하다.
  2. ② COALESCE는 처음으로 NULL이 아닌 인수를 반환한다.
  3. ③ COALESCE는 가장 큰 숫자를 반환한다.
  4. ④ NULL과 0은 항상 같은 값이다.
정답과 해설 보기

정답 ②

COALESCE는 왼쪽부터 처음 NULL이 아닌 값을 반환합니다. Oracle NVL은 대체 값을 제공하며 SQL Server ISNULL과 지원 방식이 다릅니다. 반환 자료형과 암시적 변환 규칙이 다를 수 있으므로 함수 이름만 바꿔도 모든 경우가 같다고 보지 마세요. 숫자 금액의 대체 값으로 문자열 미입력을 섞으면 변환 오류가 날 수 있습니다. 집계 전에 0으로 치환하는지 집계 결과가 NULL일 때 0으로 치환하는지도 결과 의미가 다릅니다.

기억할 핵심

COALESCE는 처음으로 NULL이 아닌 인수를 반환한다.

문제 8

COALESCE(NULL,NULL,0,10)의 결과는?

  1. ① NULL
  2. ② 문자열 NULL
  3. ③ 10
  4. ④ 0
정답과 해설 보기

정답 ④

0은 NULL이 아니므로 세 번째 인수에서 반환이 결정됩니다.

기억할 핵심

COALESCE는 처음으로 NULL이 아닌 인수를 반환한다.

문제 9

문자·숫자 함수와 CASE에서 명시적 형 변환에 대한 설명으로 옳은 것은?

  1. ① 날짜 문자열은 어떤 환경에서나 자동으로 같은 뜻이다.
  2. ② 암시적 변환은 오류가 날 수 없다.
  3. ③ 문자열로 보이는 날짜는 시간값을 가질 수 없다.
  4. ④ 날짜 문자열 변환은 형식을 명시하면 환경 의존성을 줄일 수 있다.
정답과 해설 보기

정답 ④

명시적 변환은 날짜·숫자·문자 간 변환 의도를 함수로 드러내는 방법입니다. Oracle TO_DATE에는 입력 문자열과 형식 모델을 함께 적습니다. 세션의 기본 날짜 형식에 의존하면 다른 환경에서 오류나 오해가 생길 수 있습니다. 숫자 컬럼을 문자열과 비교할 때 DBMS가 자동 변환해 줄 수 있어도 잘못된 데이터나 실행계획 문제를 만들 수 있습니다. 표시를 위해 날짜를 문자열로 바꾸는 것과 날짜 자체로 범위 비교하는 일을 분리하세요.

기억할 핵심

날짜 문자열 변환은 형식을 명시하면 환경 의존성을 줄일 수 있다.

문제 10

Oracle에서 2026-11-07을 날짜로 해석하는 명확한 표현은?

  1. ① TO_NUMBER('2026-11-07')
  2. ② ROUND('2026-11-07')
  3. ③ LENGTH('2026-11-07')
  4. ④ TO_DATE('2026-11-07','YYYY-MM-DD')
정답과 해설 보기

정답 ④

문자열 형식 YYYY-MM-DD를 지정해 날짜로 변환합니다.

기억할 핵심

날짜 문자열 변환은 형식을 명시하면 환경 의존성을 줄일 수 있다.

범위 확인

2026년 학습 범위를 기준으로 구성했습니다. 시험 시행기관의 자격 안내·출제 기준에서 과목과 변경 공지를 확인할 수 있습니다.

관련 이론 다시 보기

이전 · 관계형 DB와 SELECT·DISTINCT

다음 · WHERE·날짜 범위·연산자 우선순위

SQLD 전체 목차

과목별 이론

단원별 객관식

실습

필기 모의고사

예상 모의문제입니다.

스터디클럽의 다른 강의 보기