본문 바로가기
Database/Oracle

[ Oracle] 오라클 LENGTH()로 문자열 길이 계산하기: 기본부터 고급까지

by 코드개미 2025. 6. 3.

오라클 LENGTH()로 문자열 길이 계산하기: 기본부터 고급까지
[Oracle] LENGTH

 

Oracle SQL에서 문자열의 길이를 구할 때 사용하는 LENGTH 함수에 대해 자세히 알아봅니다. 다양한 예제와 실무 활용 팁을 통해 개발자가 실제로 활용할 수 있도록 구성하였습니다.

1. LENGTH 함수란?

LENGTH 함수는 입력된 문자열의 문자 수를 반환하는 Oracle SQL 내장 함수입니다.

LENGTH(string)
  • string: 길이를 측정할 문자열

2. 기본 사용 예제

SELECT LENGTH('Oracle') AS result FROM dual;
-- 결과: 6
SELECT LENGTH('오라클') AS result FROM dual;
-- 결과: 3 (문자 수 기준)

3. LENGTHB와의 차이점

LENGTHB 함수는 바이트 단위의 문자열 길이를 반환합니다. 멀티바이트 문자 환경에서는 결과가 다를 수 있습니다.

SELECT LENGTH('오라클'), LENGTHB('오라클') FROM dual;
-- 결과: 3, 9 (UTF-8에서는 한글 한 글자가 3바이트)

4. 실무 활용 예제

1) 입력값 유효성 검사

SELECT 
  full_name, 
  CASE WHEN LENGTH(full_name) > 20 THEN 'Too Long' ELSE 'OK' END AS name_check
FROM users;

2) 특정 길이 이하만 필터링

SELECT * FROM comments
WHERE LENGTH(comment_text) <= 200;

3) 문자열 정제 전 길이 비교

SELECT original_text, LENGTH(original_text), LENGTH(TRIM(original_text))
FROM raw_data;

5. LENGTH 함수와 함께 사용되는 함수

  • TRIM: 문자열 앞뒤 공백 제거
  • SUBSTR: 특정 위치부터 부분 문자열 추출
  • INSTR: 특정 문자의 위치 탐색
SELECT LENGTH(TRIM('  Oracle  ')) AS trimmed_length FROM dual;
-- 결과: 6

6. LENGTH 함수 사용 시 유의사항

  • NULL 값이 입력되면 결과도 NULL입니다.
  • 공백 문자도 길이에 포함됩니다.
  • LENGTH와 LENGTHB를 혼용할 경우, 문자셋에 따라 결과 차이가 발생할 수 있습니다.

7. LENGTH 함수 실무 팁

  • VARCHAR2 타입 컬럼의 데이터 길이 제한 검사 시 유용합니다.
  • 멀티바이트 언어를 사용할 경우 LENGTHB로 바이트 수 검사를 병행하는 것이 좋습니다.
  • 정제 전/후의 길이 차이로 데이터 클렌징 품질을 측정할 수 있습니다.

8. 결론

LENGTH 함수는 Oracle SQL에서 문자열 처리의 기초이자 강력한 도구입니다. 다양한 함수와의 조합을 통해 유효성 검사, 데이터 클렌징, 텍스트 분석 등 실무에서 광범위하게 사용됩니다. 특히 다국어 데이터나 문자셋 관련 작업 시 LENGTHB와의 차이를 이해하는 것이 중요합니다.

📚 참고 자료

  • Oracle 공식 문서: docs.oracle.com
  • Oracle SQL 개발자 가이드
  • SQL 튜닝 가이드 (O'Reilly)