본문 바로가기
카테고리 없음

13강. 문자열에서 특정 철자 추출하기 (SUBSTR) & 문자열 길이 출력하기 (LENGTH)

by 일잘러로 살기 2025. 3. 22.

SQL에서 문자열을 다룰 때 특정 부분만 추출하거나, 문자열의 길이를 확인해야 하는 경우가 많습니다.
이번 강의에서는 SUBSTR(부분 문자열 추출), LENGTH(문자열 길이 반환) 함수에 대해 배우겠습니다.


✅ 1. SUBSTR 함수 (특정 철자 추출하기)

SUBSTR(문자열, 시작 위치, 길이) 함수는 문자열에서 특정 부분을 추출하는 기능을 합니다.

  • 문자열: 대상 문자열
  • 시작 위치: 추출할 문자 시작 위치 (1부터 시작)
  • 길이 (선택 사항): 추출할 문자 개수

📌 기본 사용법

SELECT SUBSTR('HELLO WORLD', 1, 5) AS result FROM dual;


📌 실행 결과

설명: 문자열 'HELLO WORLD'에서 1번째 글자부터 5개 문자('HELLO')를 추출했습니다.


📌 끝에서부터 문자 추출하기

시작 위치를 음수로 지정하면 뒤에서부터 문자를 추출할 수 있습니다.

SELECT SUBSTR('HELLO WORLD', -5, 5) AS result FROM dual;


📌 실행 결과


설명: 뒤에서부터 5번째 문자부터 5개를 추출했습니다.

📌 실전 예제 - 주민등록번호에서 생년월일 추출

SELECT SUBSTR(id_number, 1, 6) AS birth_date
  FROM customers;


📌 실행 결과

활용 예시: 주민등록번호에서 앞 6자리를 추출해 생년월일을 확인할 수 있습니다.


✅ 2. LENGTH 함수 (문자열 길이 출력하기)

LENGTH(문자열) 함수는 문자열의 총 길이를 반환합니다.

  • 공백도 문자로 포함됩니다.
  • 한글, 특수문자도 포함하여 계산됩니다.

📌 기본 사용법

SELECT LENGTH('HELLO WORLD') AS result FROM dual;


📌 실행 결과

설명: 'HELLO WORLD'는 총 11자이므로 11이 출력됩니다.

 


📌 실전 예제 - 고객 아이디 길이 확인하기

SELECT customer_id, LENGTH(username) AS username_length
  FROM customers;


📌 실행 결과

활용 예시: 아이디 길이를 제한해야 할 경우 LENGTH 함수로 데이터 검증이 가능합니다.

 


✅ 3. SUBSTR과 LENGTH 함께 활용하기

SUBSTR과 LENGTH를 조합하면 가변 길이 데이터에서 특정 부분만 추출할 수 있습니다.

📌 실전 예제 - 이메일 아이디 부분만 추출

SELECT email, SUBSTR(email, 1, INSTR(email, '@') - 1) AS email_id
  FROM customers;


📌 실행 결과

설명: INSTR(email, '@')를 사용해 @ 위치를 찾고, 그 전까지를 SUBSTR로 추출했습니다.


✅ 4. 정리

SUBSTR(문자열, 시작 위치, 길이) → 특정 위치의 문자 추출
LENGTH(문자열) → 문자열 전체 길이 반환
SUBSTR + LENGTH 조합 → 원하는 문자만 가변 길이로 추출 가능