CHAR(n)

설명

고정길이 문자 스트링은 CHAR(n)로 나타낸다. 여기서 n은 ASCII 문자 스트링의 바이트 수를 나타내는 것으로, 영문의 경우 한 문자는 1바이트를 차지한다. 한글의 경우 데이터 입력 환경의 문자 세트(character set)에 따라 한 문자가 차지하는 바이트 수가 다르므로 주의하여 지정한다(예: EUC-KR: 2바이트, UTF-8: 3바이트). n이 생략되면 길이는 디폴트 값인 1로 지정된다.

문자 스트링의 크기가 n을 초과하는 경우, 초과 부분이 공백 문자이면 절삭하여 처리하고, 초과 부분이 일반 문자이면 오류를 반환한다. n보다 작은 문자 스트링이 저장될 때에는 나머지 부분이 공백 문자로 채워진다. 

CHAR(n)와 CHARACTER(n)는 같은 의미로 사용된다.

참고 사항
예제 1

CHAR(12)에 'pacesetter'를 저장하면 'pacesetter  '가 된다(10자리 문자 스트링과 공백 문자 2개로 구성됨).

CHAR(10)에 'pacesetter  '를 저장하면 'pacesetter'가 된다(10을 넘어서는 부분이 공백 문자이므로 이를 절삭하고 10자리 문자 스트링으로 구성됨).

CHAR(4)에 'pacesetter'를 저장하면 오류가 발생한다(문자 스트링의 크기가 4보다 크기 때문에 오류 발생).

CHAR에 'p '를 저장하면 'p'가 된다(n이 생략되면 길이는 기본값인 1로 지정됨).

예제 2

EUC-KR 환경에서 CHAR(10)에 '큐브리드'를 저장하면 정상 처리된다.

EUC-KR 환경에서 CHAR(10)에 '큐브리드'를 저장하면 LENGTH() 함수의 리턴 값은 10이다.

UTF-8 환경에서 CHAR(10)에 '큐브리드'를 저장하면 오류가 발생한다(한글 한 문자가 3바이트로 처리되는 경우).

UTF-8 환경에서 CHAR(12)에 '큐브리드'를 저장하면 정상 처리된다.