SQL Advanced: 문자열 함수

하하호호훈이·2025년 5월 30일

SQL(MySQL) MUST KNOW

목록 보기
11/23
post-thumbnail

이번 포스팅부터는 문자열 함수들에 대해서 알아봅시다! SQL 문자열 함수는 텍스트 데이터를 가공하거나 분석할 때 사용하는 핵심 도구입니다. 사용자 이름, 이메일 주소, 설명 등의 문자열 데이터를 다룰 때 아래 함수들이 자주 사용됩니다.

다루는 함수 목록:

  • LENGTH()
  • UPPER() / LOWER()
  • CONCAT()
  • SUBSTRING()

💡 모든 예시는 company_db라는 예시 데이터베이스 안에 employeesprojects 테이블을 기반으로 작성됩니다.

🏗️ 예시 데이터베이스 구조

-- employees 테이블
CREATE TABLE employees (
  emp_id INT PRIMARY KEY,
  first_name VARCHAR(50),
  last_name VARCHAR(50),
  department VARCHAR(50),
  salary DECIMAL(10,2),
  hire_date DATE
);

-- projects 테이블
CREATE TABLE projects (
  project_id INT PRIMARY KEY,
  emp_id INT,
  project_name VARCHAR(100),
  start_date DATE,
  end_date DATE,
  budget DECIMAL(10,2),
  FOREIGN KEY (emp_id) REFERENCES employees(emp_id)
);

-- 샘플 데이터 삽입
INSERT INTO employees VALUES
(1, 'Alice', 'Kim', 'Engineering', 6500.50, '2020-05-20'),
(2, 'Bob', 'Lee', 'Marketing', 5400.00, '2021-03-15'),
(3, 'Charlie', 'Park', 'Engineering', 7100.00, '2019-11-05'),
(4, 'Diana', 'Choi', 'HR', 4300.75, '2022-01-10');

INSERT INTO projects VALUES
(101, 1, 'AI Platform', '2023-01-01', '2023-12-31', 100000.00),
(102, 2, 'Rebranding', '2023-03-15', '2023-08-30', 40000.00),
(103, 1, 'Data Lake', '2024-01-01', NULL, 80000.00),
(104, 3, 'Automation', '2022-06-01', '2022-12-31', 60000.00);

1. LENGTH(string) — 문자열 길이 반환

✔️ 사용 목적

  • 문자열의 길이(문자 수)를 확인합니다.
  • 사용자 입력 길이 검증, 필터링, 전처리에 유용합니다.

✔️ 구문 설명

  • string: 길이를 확인하고자 하는 문자열 컬럼 또는 값

✔️ 예제

SELECT first_name, LENGTH(first_name) AS name_length
FROM employees;

예시 결과:

first_namename_length
Alice5
Bob3
Charlie7
Diana5

2. UPPER(string) / LOWER(string) — 대소문자 변환

✔️ 사용 목적

  • 입력값의 대소문자 차이를 제거하여 정규화하거나
  • 출력 형식을 일관성 있게 유지하고 싶을 때 사용합니다.

✔️ 예제

SELECT department,
       UPPER(department) AS dept_upper,
       LOWER(department) AS dept_lower
FROM employees;

예시 결과:

departmentdept_upperdept_lower
EngineeringENGINEERINGengineering
HRHRhr

3. CONCAT(string1, string2, ...) — 문자열 이어붙이기

✔️ 사용 목적

  • 이름, 주소 등 여러 텍스트 필드를 하나의 문장으로 연결할 때 사용합니다.

✔️ 예제

SELECT first_name, last_name,
       CONCAT(first_name, ' ', last_name) AS full_name
FROM employees;

예시 결과:

first_namelast_namefull_name
AliceKimAlice Kim
BobLeeBob Lee
CharlieParkCharlie Park
DianaChoiDiana Choi

4. SUBSTRING(string, start, length) — 문자열 자르기

✔️ 사용 목적

  • 설명, 코드 등 긴 문자열의 앞부분을 미리보기로 보여줄 때 사용합니다.

✔️ 구문 설명

  • string: 자르고 싶은 원본 문자열
  • start: 몇 번째 글자부터 자를지 (1부터 시작)
  • length: 얼마나 자를지 (글자 수)

✔️ 예제

SELECT project_name,
       SUBSTRING(project_name, 1, 5) AS short_title
FROM projects;

예시 결과:

project_nameshort_title
AI PlatformAI Pl
RebrandingRebra
Data LakeData
AutomationAutom

✅ 정리 요약: 문자열 함수 비교

함수기능 요약활용 예시
LENGTH()문자열의 길이 반환입력값 제한, 설명 길이 측정
UPPER()모든 글자를 대문자로 변환이름/코드 비교 시 정규화
LOWER()모든 글자를 소문자로 변환이메일 검색 등 대소문자 무시
CONCAT()여러 문자열을 하나로 결합이름 합치기, 주소 합치기 등
SUBSTRING()문자열 일부만 추출설명 미리보기, 코드 앞자리 분류

다음 파트에서는 날짜/시간 함수를 다뤄보겠습니다. See you!

profile
AI, Data Science/Analysis 리뷰용가리지용 😆

0개의 댓글