[PostgreSQL] 쿼리 문자열을 LENGTH(컬럼명) 가져왔는데, 바이트로 보는 방법(OCTET_LENGTH)
LENGTH() → 문자 개수 (char length)
바이트 길이 → OCTET_LENGTH()
바이트 길이 구하기
SELECT OCTET_LENGTH(컬럼명)
FROM 테이블명;
예시 비교
SELECT
LENGTH('ABC') AS char_len,
OCTET_LENGTH('ABC') AS byte_len;
결과
char_len = 3
byte_len = 3
SELECT
LENGTH('한글') AS char_len,
OCTET_LENGTH('한글') AS byte_len;
결과 (UTF-8 기준)
char_len = 2
byte_len = 6 -- 한글 1글자 = 3바이트
컬럼 기준 실사용
SELECT
컬럼명,
LENGTH(컬럼명) AS char_length,
OCTET_LENGTH(컬럼명) AS byte_length
FROM 테이블명;
실무 포인트
- 한글/이모지 포함 데이터면 반드시
OCTET_LENGTH사용해야 정확 - DB 저장 제한이 BYTE 기준이면 무조건 이걸로 체크
- VARCHAR(20) → 문자 기준
BYTE 제한은 별도 체크 필요
byte 기준 필터링 (예: 100byte 이상)
SELECT *
FROM 테이블명
WHERE OCTET_LENGTH(컬럼명) > 100;
[더 보기]



