Versions available for this page: CUBRID 8.4.0 | CUBRID 8.4.1 | CUBRID 8.4.3 | CUBRID 9.0.0 |
CUBRID는 네 종류의 문자열(character string) 타입을 지원한다.
다음은 문자열 타입을 사용할 때 적용되는 규칙이다.
하지만 특정 국가의 언어를 입력하고자 하는 경우 국가 문자열 타입보다는 CUBRID_LANG 환경 변수 또는 CHARSET 소개자(혹은 COLLATE 수정자)에 의해 로캘을 변경하거나 일반 문자열 타입(VARCHAR 또는 CHAR)을 사용하는 것을 권장한다. 문자셋에 대한 자세한 설명은 관리자 안내서 > 다국어 지원을 참고한다.
길이(Length)
CHAR나 VARVAHR 타입에서는 문자열의 크기(바이트)를 지정하며, NCHAR나 NCHAR VARYING 타입에서는 문자의 개수를 지정한다.
입력된 문자열이 지정된 길이를 초과하는 경우, 지정된 길이에 맞도록 데이터를 자르므로(truncate) 주의한다.
또한, CHAR와 NCHAR와 같은 고정 길이 문자열 타입에서는 선언한 길이에 고정되므로, 문자를 저장할 때 오른쪽에 공백 문자(trailing space)를 채운다. 한편, VARCHAR 또는 NCHAR VARYING과 같은 가변 길이 문자열 타입에서는 공백 문자를 채우지 않고 실제 입력된 문자열만큼 저장한다.
CHAR 또는 VARCHAR 타입에서 지정할 수 있는 최대 길이는 1,073,741,823이며, NCHAR 또는 NCHAR VARYING 타입에서 지정할 수 있는 최대 길이는 536,870,911이다. 또한, CSQL 문장으로 한 번에 입력 또는 출력할 수 있는 최대 크기는 8192KB이다.
문자셋(Character Set, charset)
문자셋(문자 집합)은 특정 문자(symbol)를 컴퓨터에 저장할 때, 어떠한 코드로 인코딩할 것인지에 대한 규칙이 정의된 집합을 의미한다. CUBRID가 사용할 문자셋은 CUBRID_LANG 환경 변수로 설정할 수 있다. 문자셋에 대한 자세한 설명은 관리자 안내서 > 다국어 지원을 참고한다.
문자셋의 정렬(Collating Character Set)
콜레이션(collation)은 어느 문자셋이 설정된 상태에서 데이터베이스에 저장된 값들을 검색하거나 정렬하는 작업을 위해 문자들을 서로 비교할 때 사용하는 규칙들의 집합이다. 문자셋에 대한 자세한 설명은 관리자 안내서 > 다국어 지원을 참고한다.
문자열 변환(Character String Coercion)
고정길이와 가변길이 문자열 사이에는 두 문자의 길이가 비교 가능할 수 있도록 자동 변환이 된다. 자동 변환은 동일한 문자셋에 속하는 문자열에만 적용된다.
예를 들어, 데이터 타입이 CHAR(5)인 칼럼을 추출하여 데이터 타입이 CHAR(10)인 칼럼에 삽입하는 경우 자동으로 데이터 타입이 CHAR(10)으로 변환되어 삽입된다. 문자열을 명시적으로 변환할 수도 있는데, 이 때에는 CAST 연산자를 사용한다(CAST 연산자 참조).