데이터를 다룰 때, 문자열의 길이(글자 수) 를 계산하는 것은 매우 중요한 작업입니다.
오라클(Oracle)에서는 LENGTH() 함수를 사용하여 문자열의 글자 수(공백 포함) 를 구할 수 있으며, 바이트 수 를 계산할 때는 LENGTHB() 함수를 사용합니다.
오늘은 오라클 SQL에서 문자열 길이를 계산하는 다양한 방법을 정리해 보겠습니다! 🚀
1️⃣ 문자열 길이 계산 : LENGTH()
오라클에서 문자열의 글자 수(길이) 를 구할 때는 LENGTH() 함수를 사용합니다.
이 함수는 문자열에 포함된 공백까지 포함하여 문자 개수를 반환합니다.
✅ 사용 예시
SELECT LENGTH('Oracle Database') AS char_count FROM dual;
📌 결과
CHAR_COUNT
----------
15
👉 공백까지 포함하여 문자 개수를 계산한다는 점을 기억하세요!
2️⃣ 공백 포함 여부 확인
문자열 앞뒤에 공백이 있는 경우에도 전체 문자 수를 계산합니다.
✅ 사용 예시
SELECT LENGTH(' Hello World ') AS char_count FROM dual;
📌 결과
CHAR_COUNT
----------
15
👉 앞뒤 공백도 문자로 인식하여 포함됩니다!
3️⃣ 공백을 제거한 후 글자 수 계산
만약 앞뒤 공백을 제거한 후 글자 수를 계산하고 싶다면, TRIM() 함수를 함께 사용하면 됩니다.
✅ 사용 예시
SELECT LENGTH(TRIM(' Hello World ')) AS char_count FROM dual;
📌 결과
CHAR_COUNT
----------
11
👉 TRIM()을 사용하면 앞뒤 공백이 제거된 상태에서 글자 수만 계산됩니다.
4️⃣ 특수 문자와 숫자 포함 여부
LENGTH() 함수는 문자열 내 모든 문자(특수 문자, 숫자 포함) 를 계산합니다.
✅ 사용 예시
SELECT LENGTH('Hello123!@#') AS char_count FROM dual;
📌 결과
CHAR_COUNT
----------
11
👉 숫자와 특수 문자도 포함되어 계산됩니다!
5️⃣ 다국어 문자(한글, 일본어, 중국어 등) 길이 계산
한글, 중국어, 일본어 같은 다국어 문자도 정상적으로 글자 수를 계산할 수 있습니다.
✅ 사용 예시
SELECT LENGTH('안녕하세요') AS char_count FROM dual;
📌 결과
CHAR_COUNT
----------
5
👉 한글은 한 글자당 1개의 문자로 계산됩니다!
6️⃣ 문자열의 바이트 수 계산 : LENGTHB()
오라클에서는 글자 수가 아닌 바이트(byte) 수 를 구하고 싶다면 LENGTHB() 함수를 사용합니다.
특히 UTF-8 환경에서는 한글/중국어/일본어 문자가 2~3 바이트로 계산될 수 있습니다.
✅ 사용 예시
SELECT LENGTHB('안녕하세요') AS byte_count FROM dual;
📌 결과 (환경에 따라 다를 수 있음)
BYTE_COUNT
----------
15
👉 일반적으로 한글 한 글자는 UTF-8 환경에서 3바이트 로 계산됩니다.
👉 한 글자당 몇 바이트를 차지하는지 확인하고 싶다면 LENGTHB() 함수를 활용하세요!
🎯 정리: 문자열 길이 계산 방법
LENGTH(string) | 문자열의 글자 수 계산 (공백 포함) |
LENGTH(TRIM(string)) | 앞뒤 공백 제거 후 글자 수 계산 |
LENGTHB(string) | 문자열의 바이트 수 계산 (UTF-8 환경 고려) |
✅ 마무리
오라클 SQL에서 문자열 길이를 계산하는 방법을 알아봤습니다.
- 기본적으로 LENGTH() 함수를 사용하여 공백 포함 글자 수를 계산할 수 있습니다.
- TRIM() 함수를 함께 사용하면 앞뒤 공백을 제외한 글자 수를 구할 수 있습니다.
- LENGTHB() 함수를 사용하면 글자가 차지하는 바이트 수 도 확인할 수 있습니다.
이제 필요에 따라 적절한 함수를 활용하여 데이터 처리에 적용해 보세요! 🚀
📢 관련 해시태그
#SQL #Oracle #LENGTH #LENGTHB #문자열길이 #SQL쿼리 #DBMS #데이터베이스 #SQL함수 #SQL팁 #SQL튜닝 #문자열처리 #데이터정제 #SQL문법 #쿼리최적화 #SQL학습 #SQL기초 #SQL개발 #데이터처리 🚀
'Program > ORACLE' 카테고리의 다른 글
[SQL] CREATE INDEX vs PRIMARY KEY: 차이점과 사용법 (1) | 2025.02.14 |
---|---|
[SQL] 오라클 NVL2 함수 활용법: NULL 값 처리하기 - NVL2 (2) | 2025.02.13 |
[SQL] 오라클에서 특정 날짜의 분기 종료일(마지막 날짜) 구하는 방법 - ADD_MONTHS, LAST_DAY (0) | 2025.02.11 |
[SQL] 문자열 공백 제거 방법 - TRIM, REPLACE 등 (0) | 2025.02.10 |