반응형
최근에 데이터 입력을 하다가 한글 1000자 이상을 못넣는 현상을 발견했어요
DB 확인해보니 컬럼 값이 4000Byte가 MAX로 되어있더라고요 ~_~
한글은 2Byte인줄 알았는데 저희회사에서는 3Byte로 넣고 있더라구요!
그래서 요번에는 DB마다 캐릭터 셋 확인하는 방법을 알려드리겠습니다~
SELECT
*
FROM NLS_DATABASE_PARAMETERS
WHERE PARAMETER = 'NLS_CHARACTERSET'
OR PARAMETER = 'NLS_NCHAR_CHARACTERSET'
해당 쿼리르 조회해보시면 캐릭터 셋마다 저장 속성을 볼 수 있는데요!
[한글을 지원하는 캐릭터셋]
1. KO16KSC5601
2. KO16MSWIN949
3. AL32UTF8
4. UTF8
[KO16KSC5601]
4888자의 한자, 히라카나, 카타카나, 영문 및 기호 지원, 한글 2바이트
[KO16MSWIN949]
WINDOW 949 마이크로사의 한클코드 페이지
한글 조합으로 표현할 수 있는 8822자
[AL32UTF8]
AL32UTF8은 오라클에서 사용하는 데이터베이스 캐릭터셋이고 유니코드를 지원합니다. 즉, 모든 CHAR, VARCHAR2, LONG, CLOB 그리고 NCHAR, NVARCHAR2, NCLOB 데이터 타입이 "유니코드"입니다.
- 한글 한자당 3Byte
- AL32UTF8는 한글 11,172자이며 UTF8과 다른점은 내셔널 캐릭터 셋으로 설정 불가능
[AL16UTF16]
- KO16KSC5601는 한글 완성형 2,350자지원 글자당 2바이트
- KO16MSWIN949는 KO16KSC5601+확장 8822자 지원, 글자당 2바이트
- UTF8는 한글 11,172자 글자당 3바이트
감사합니다.
반응형
'💻 IT > 📌 DataBase' 카테고리의 다른 글
[DB/SQL] ORACLE WITH절 사용법 정리 (0) | 2024.08.29 |
---|---|
[DB/SQL] 오라클 PARTITION BY 정리 | 집계함수 사용 | 순위함수 사용 (6) | 2024.08.28 |
[DB/SQL] 계층형 쿼리 정리 ( START WITH, CONNECT BY PRIOR, ORDER SIBLINGS BY) (0) | 2024.08.13 |
[DB/ORACLE] 오라클 데이터베이스 버전 확인 방법 (0) | 2024.08.12 |
[DB/ORACLE] 오라클 데이터베이스 테이블 조회하는 방법 (0) | 2024.08.11 |