2010년 3월 9일 화요일

SQL 시스템 데이터 형식

- 문자열 계열(Character Strings)

  : 고정/가변 길이를 갖는 문자열을 정의하는데 사용

    char, varchar, text 형식으로 1byte가 1개의 글자를 표현

1. char           표현식 : char[(n)],                크기(byte) : 0~8000
    고정길이를 갖는 문자열을 저장
2. varchar      표현식 : varchar[(n|max)],     크기(byte) : 0~8000
    가변길이를 갖는 문자열을 저장
3. text                                                       크기(byte) : 0~2GB            
    서버의 코드 페이지에 있는 최대 길이가 2^31 - 1(2,147,483,647)자인 비유니코드 가변 길이 데이터


- 유니코드 문자열 계열(Unicode Character Strings)

  : 고정/가변 길이를 갖는 유니코드 문자열을 정의하는데 사용

    UNICODE UCS-2 문자집합을 사용, 2byte를 사용해 1개의 글자를 표현

1. nchar          표현식 : nchar[(n)],               크기(byte) : 0~4000
    고정길이를 갖는 유니코드 문자열을 저장
2. nvarchar     표현식 : nvarchar[(n|max)],    크기(byte) : 0~4000
    가변길이를 갖는 유니코드 문자열을 저장
3. ntext                                                       크기(byte) : 0~2GB            
    최대 길이가 2^30 - 1(1,073,741,823)자인 가변 길이 유니코드 데이터
    바이트 단위의 저장소 크기는 입력된 문자 수의 두 배
    ntext의 ISO 동의어는 national text입니다.

 

고정문자열과 가변문자열의 차이

고정문자열 : char, nchar 는 언제나 처음 지정한 크기의 영역을 사용

예를 들면 하나의 필드를 char(100)으로 지정하고 그 필드에 'blog'라는 데이터를 입력하면 입력된 데이터의 크기에 상관없이 항상 100byt의 영역을 확보 합니다.

가변문자열 : varchar, nvarchar 는 처음에 지정한 크기 이내에서 입력받는 데이터의 크기에 따라서 확보하는 영역을 달리 합니다. 예를 들면 필드를 varchar(100)으로 지정하고 'blog'라는 데이터를 입력하면 4byte의 영역만을 확보합니다.

 

* varchar 와 varchar2의 차이

   varchar 는 ms-sql 에서 사용하는 형식이고 varchar2는 oracle 에서 사용하는 형식

댓글 없음:

댓글 쓰기