Open Source RDBMS - Seamless, Scalable, Stable and Free

한국어 | Login |Register

Versions available for this page: CUBRID 8.4.0 |  CUBRID 8.4.1 |  CUBRID 8.4.3 |  CUBRID 9.0.0 | 

정의와 특성

정의

CUBRID는 네 종류의 문자열(character string) 타입을 지원한다.

  • 고정길이 문자열 : CHAR(n)
  • 가변길이 문자열 : VARCHAR(n)
  • 고정길이 국가 문자열 : NCHAR(n)
  • 가변길이 국가 문자열 : NCHAR VARYING(n)

다음은 문자열 타입을 사용할 때 적용되는 규칙이다.

  • 문자열은 작은 따옴표로 감싸서 표현한다. SQL 구문 관련 파라미터인 ansi_quotes의 값에 따라 문자열을 감싸는 부호로 큰 따옴표도 사용할 수 있다. ansi_quotes 값을 no로 설정하면 큰 따옴표로 감싼 문자열을 식별자로 처리하지 않고 문자열로 처리한다. 기본값은 yes이다. 자세한 설명은 구문/타입 관련 파라미터를 참고한다.
  • ANSI 표준에 따라 두 개의 문자열 사이에 공간으로 취급할 수 있는 문자(예: 공백, 탭, 줄바꿈 등)가 있다면, 두 개의 문자열은 연속된 하나의 문자열로 취급된다. 예를 들면, 다음과 같이 두 개의 문자열 사이에 줄바꿈이 있는 경우가 있다.
  • 'abc'
  • 'def'
  • 위 문자열은 아래에 있는 하나의 문자열과 동일하다.
  • 'abcdef'
  • 작은 따옴표 자체를 문자열에 포함시키려면, 두 개의 작은 따옴표를 연속으로 입력하면 된다. 예를 들어, 아래의 왼쪽 문자열은 실제로 오른쪽과 같이 저장된다.
  • ''abcde''fghij'       'abcde'fghij
  • 모든 문자열에 대한 토큰의 최대 크기는 16KB이다.
  • 국가 문자열은 다국어 환경에서 영어 외의 문자열을 저장할 때 사용할 수 있다. 단, 아래 예제와 같이 문자열을 감싸는 시작 따옴표 앞에 반드시 대문자 N을 붙여야 한다.
  • N'Härder'
  • 하지만 특정 국가의 언어를 입력하고자 하는 경우 국가 문자열 타입보다는 CUBRID_LANG 환경 변수 또는 CHARSET 소개자(혹은 COLLATE 수정자)에 의해 로캘을 변경하거나 일반 문자열 타입(VARCHAR 또는 CHAR)을 사용하는 것을 권장한다. 문자셋에 대한 자세한 설명은 관리자 안내서 > 다국어 지원을 참고한다.

특성

길이(Length)

CHARVARVAHR 타입에서는 문자열의 크기(바이트)를 지정하며, NCHARNCHAR VARYING 타입에서는 문자의 개수를 지정한다.

입력된 문자열이 지정된 길이를 초과하는 경우, 지정된 길이에 맞도록 데이터를 자르므로(truncate) 주의한다.

또한, CHARNCHAR와 같은 고정 길이 문자열 타입에서는 선언한 길이에 고정되므로, 문자를 저장할 때 오른쪽에 공백 문자(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 연산자 참조).