오라클 SQL · 함수와 집계

문자 함수: UPPER, LOWER, SUBSTR, INSTR

문자 함수는 텍스트 데이터를 다듬고 비교하는 데 필수적이다. 이름, 주소, 코드, 이메일처럼 문자열 중심 데이터가 많은 실무에서는 사용 빈도가 매우 높다.

문자 함수: UPPER, LOWER, SUBSTR, INSTR 대표 이미지

이 글에서 꼭 잡아야 할 것

문자 함수는 텍스트 데이터를 다듬고 비교하는 데 필수적이다. 이름, 주소, 코드, 이메일처럼 문자열 중심 데이터가 많은 실무에서는 사용 빈도가 매우 높다.

문자 함수는 문자열 자체를 가공할 뿐 아니라, 조건절과 정렬, 그룹화의 전처리 단계로도 많이 쓰인다. 다만 컬럼에 함수를 적용하면 인덱스 활용에 영향을 줄 수 있으므로 읽기 편의와 성능 사이 균형을 함께 생각하는 습관이 필요하다.

난이도 초급
모듈 함수와 집계
학습 시간 10분
핵심 키워드 UPPER, SUBSTR, INSTR

개념 지도와 이해 포인트

대소문자 변환 `UPPER`, `LOWER`, `INITCAP`은 문자열 비교와 표준화에 자주 쓰인다. 검색 조건과 출력 형태를 맞출 때 특히 유용하다.
부분 추출 `SUBSTR`은 특정 위치에서 일부 문자열을 잘라낸다. 코드값 접두사나 주민번호 일부처럼 정해진 길이를 다룰 때 자주 등장한다.
위치 탐색 `INSTR`은 특정 문자열이 어디에 위치하는지 알려 준다. 패턴이 포함되었는지 확인하거나 도메인 부분을 분리할 때 좋다.
문자 함수: UPPER, LOWER, SUBSTR, INSTR 개념 다이어그램

대표 문법 패턴

SELECT first_name,
       UPPER(first_name) AS upper_name,
       SUBSTR(first_name, 1, 3) AS first_three
FROM employees;

SELECT email,
       INSTR(email, '@') AS at_position
FROM contacts;

문법 읽는 포인트

  • `SUBSTR`은 시작 위치와 길이를 함께 줄 수 있다.
  • `INSTR`은 찾는 문자열이 없으면 0을 반환한다.
  • 검색 일관성을 위해 비교 전 `UPPER` 또는 `LOWER`로 통일하는 경우가 많다.

핵심 용어

  • UPPER
  • SUBSTR
  • INSTR

이메일 아이디와 도메인 분리하기

문자 함수는 보고서용 가공에도 유용하지만, 데이터를 규칙 단위로 잘라 내는 전처리에서도 자주 쓰인다. 문자열 구조를 눈으로 먼저 분해해 보면 필요한 함수가 더 잘 보인다.

SELECT email,
       SUBSTR(email, 1, INSTR(email, '@') - 1) AS email_id,
       SUBSTR(email, INSTR(email, '@') + 1) AS email_domain
FROM contacts
ORDER BY email;

수험 체크포인트와 자주 하는 실수

시험 체크포인트

  • `SUBSTR`의 시작 위치와 길이 인자 순서를 정확히 기억하자.
  • `INSTR`가 0을 반환하는 상황을 묻는 문제가 자주 나온다.
  • 문자 함수 결과를 WHERE 절에 바로 쓰는 유형은 실제 데이터 변형 과정을 떠올리면 빠르게 풀린다.

자주 하는 실수

  • `SUBSTR`의 두 번째 인자를 길이로 오해하는 실수
  • 대소문자 구분이 필요한 비교와 불필요한 비교를 구분하지 못하는 실수
  • 문자 함수 적용 결과가 NULL일 수 있는 상황을 놓치는 실수

연결 학습

문자 데이터 가공이 익숙해졌다면 이제 숫자 계산과 반올림으로 넘어갈 수 있다. 다음 챕터에서는 숫자 함수를 정리한다.

댓글 0

작성자 이름과 댓글 내용을 입력하면 바로 등록됩니다. 답글은 한 단계까지 지원하고, 댓글은 최대 200자까지 작성할 수 있습니다.

일반 댓글 작성

댓글을 불러오는 중입니다.

같은 카테고리에서 이어서 읽기

지금 읽은 글과 가까운 흐름의 글 5개를 모아 두었습니다. 바로 앞뒤 문맥을 이어서 읽고 싶을 때 가장 편합니다.