데이터 유형 개념 :
- 데이터베이스의 테이블에 특정 자료를 입력할 때, 그 자료를 받아들일 공간을 자료의 유형별로 나누는 기준
- 특정 칼럼 정의 시 그 칼럼이 받아들일 수 있는 자료의 유형을 규정
- 선언한 유형이 아닌 다른 종류의 데이터 입력 시 에러 발생
대표적인 데이터 유형 :
(Oracle : O, SQL Server : S, MySQL : M 으로 표현)
데이터 유형 | 설명 |
---|---|
CHARACTER(s) |
- 고정 길이 문자열 정보 (O, S, M 모두 CHAR로 표현) - s는 기본 길이 1Byte, 최대 길이 O 2,000Byte, S 8,000Byte - s만큼 최대 길이를 갖고 고정 길이를 가지고 있으므로 할당된 변수 값의 길이가 s보다 작을 경우 그 차이 길이만큼 공간으로 채워짐. |
VARCHAR(s) |
- CHARACTER VARYING의 약자로 가변 길이 문자열 정보 (O은 VARCHAR2로 표현, S, M은 VARCHAR 로 표현) - s는 최소 길이 1Byte, 최대 길이 O 4,000Byte, S 8,000Byte - s만큼의 최대 길이를 갖지만 가변 길이로 조정이 되기 때문에 할당된 변수값의 Byte만 적용된다. (Limit 개념) |
NUMBERIC |
- 정수, 실수 등 숫자 정보 (O는 NUMBER, S는 10가지 이상의 숫자 타입을 가지고 있음) - O는 처음에는 전체 자리 수를 지정하고, 그 다음 소수 부분의 자리 수를 지정한다. 예를 들어, 정수 부분인 6자리이고 소수점 부분이 2자리인 경우에는 'NUMBER(8,2)'와 같이 된다. |
DATE |
- 날짜와 시각 정보 - O는 1초단위, S는 3.33ms(millisecond) 단위 관리 |
데이터 유형에 따른 유의 사항 :
CHAR유형과 VARCHAR 유형의 차이점
- 저장영역 :
- VARCHAR : 가변길이, 필요한 영역은 실제 테이터 크기, CHAR 유형보다 작은 영역에 저장할 수 있는 장점
- CHAR : 고정길이, 선언한 크기만큼 자리 차지
- 비교방법 :
- VARCHAR : 맨 처음부터 한 문자씩 비교, 공백도 하나의 문자로 취급, 끝 공백이 다르면 다르다고 판단
- CHAR : 공백(blank)을 채워 비교하는 방식 사용, 짧은 쪽의 끝에 공백을 추가하여 2개의 데이터가 같은 길이가 되도하고 앞에서부터 한 문자씩 비교, 끝의 공백만 다른 문자열은 같다고 판단
-- 예) CHAR 유형 'SQL' = 'SQL ' -- 예) VARCHAR 유형 'SQL' ≠ 'SQL '