고정길이 문자열은 CHAR(n)로 나타낸다. 여기서 n은 ASCII 문자열의 바이트 수를 나타내는 것으로, 영문의 경우 한 문자는 1바이트를 차지한다. 한글의 경우 데이터 입력 환경의 문자 세트(character set)에 따라 한 문자가 차지하는 바이트 수가 다르므로 주의하여 지정한다(예: EUC-KR: 2바이트, UTF-8: 3바이트). n이 생략되면 길이는 기본값인 1로 지정된다.
문자열의 크기가 n을 초과하면 초과 부분을 절삭한다. n보다 작은 문자열이 저장되면 나머지 부분은 공백 문자로 채워진다.
CHAR(n)와 CHARACTER(n)는 같은 의미로 사용된다.
CHAR(12)에 'pacesetter'를 저장하면 'pacesetter '가 된다(10자리 문자열과 공백 문자 2개로 구성됨).
CHAR(10)에 'pacesetter '를 저장하면 'pacesetter'가 된다(10을 넘어서는 부분이 공백 문자이므로 이를 절삭하고 10자리 문자열로 구성됨).
CHAR(4)에 'pacesetter'를 저장하면 'pace'가 된다(문자열의 크기가 4보다 크므로 절삭함).
CHAR에 'p '를 저장하면 'p'가 된다(n이 생략되면 길이는 기본값인 1로 지정됨).
EUC-KR 환경에서 CHAR(10)에 '큐브리드'를 저장하면 정상 처리된다.
EUC-KR 환경에서 CHAR(10)에 '큐브리드'를 저장하면 LENGTH() 함수의 리턴 값은 10이다.
UTF-8 환경에서 CHAR(10)에 '큐브리드'를 저장하면 마지막 글자가 깨진다(한글 한 문자가 3바이트로 처리되므로 마지막 글자를 저장할 공간이 2바이트 부족함).
UTF-8 환경에서 CHAR(12)에 '큐브리드'를 저장하면 정상 처리된다.