오라클 문자형식

오라클 데이터베이스 SQL 강의 7강 - 오라클 데이터 형식 #1 (문자 형식)

저번시간에 CHAR의 단위가 기본으로 BYTE로 설정되어있다는 것을 배웠다. 단위를 두 글자로 만들고 싶다면

CHAR (2 CHAR)

로 형식을 지정해줘도 된다.

하지만 이 옵션은 바람직하지 않다고 한다. 왜? NCHAR가 괜히 있을까?

다음의 질의문을 실행해보자.

SELECT LENGTHB(GENDER) FROM MEMBER;

Untitled

6바이트이다. 젠더라는 열이 가진 모든 데이터의 크기를 반환한다. 한글 2CHAR는 6바이트임.

SELECT * FROM NLS_DATABASE_PARAMETERS;

이 명령어는 National Language Suppoter라고 해서, 현재 DB의 각국의 언어환경설정을 볼 수 있다.

Untitled

여기서 CHAR와 NCHAR의 설정 차이를 볼 수 있다. AL32bit은 문자 하나를 쓰기 위해 3byte를 사용한다. 그런데 NCHAR는 16bit짜리 CP를 사용하는 것을 볼 수 있다.

그래서 타 언어를 지원할때 2byte만 써도 충분하다.

즉 정리하면… 영어가 아닌 다른 언어를 사용할때는 애초에 CHAR가 아니라 NCHAR를 사용하는게 더 바람직하다는 결론이다.