Oracle CHAR 공백 이슈

코드줍줍·2025년 9월 15일
0

삽질 일지

목록 보기
7/13
post-thumbnail

🐞문제

API 테스트 중 DB INSERT 시 아래 이슈 발생

  • 클라이언트에서 다음과 같은 JSON 데이터를 보낼 때 ”message_type”: “TEXT”
  • DB에는 ‘TEXT ’처럼 공백이 붙은 문자열이 저장됨

🔍원인

  • TRAN_TYPE CHAR(20)로 되어 있었기 때문에 입력값이 20자보다 짧으면 남는 공간이 공백으로 자동 패딩됨.

✅ 해결

컬럼 타입을 VARCHAR2로 변경

ALTER TABLE BTALK_MSG MODIFY TRAN_TYPE VARCHAR2(20);
  • 공백 없이 입력값 그대로 저장

✨ 배운 점

  • Oracle에서 CHAR은 고정 길이 타입이라 문자열 길이가 부족하면 자동으로 공백이 채워진다.
  • 문자열 컬럼은 VARCHAR2를 기본으로 사용하는 것이 안전하다.
profile
Just Wanna Dev

0개의 댓글