[SQL] 데이터 유형
[SQL] 데이터 유형
데이터 유형이란?
데이터 유형은 테이블에 특정 자료를 입력할 때, 해당 자료를 넣을 공간을 자료의 유형별로 나누는 기준이다. 즉, 특정 칼럼을 정의할 때 선언한 데이터 유형은 그 칼럼이 받아들일 수 있는 자료의 유형을 규정한다. 따라서 선언한 유형이 아닌 다른 종류의 데이터가 들어오려고 하면 DB는 에러를 발생시킨다. 예를 들어 숫자타입으로 지정된 컬럼에 ‘박지성’ 이라는 문자가 입력되었을 때, 숫자가 아닌 문자열이 저장되었으므로 잘못된 데이터로 판단하는 것이다.
데이터 유형별 특징
DB에서 사용하는 데이터 유형에는 많은 종류가 있다. 벤더별로 쿼리 차이는 줄어들고 있지만, 데이터 유형과 내장형 함수부분에서는 차이가 많은 편이다. 따라서 모든 유형에 대해 다루진 않고 빈번하게 쓰이는 데이터 유형을 골라 정리해보도록 하겠다. 내용은 아래와 같다.
CHARACTER(s)
- 고정길이 문자열 정보(Oracle, SQL Server 모두 CHAR로 표현)
- s는 기본 길이 1바이트, 최대 길이 Oracle 2000바이트, SQL Server 8000바이트
- s만큼 최대 길이 및 고정 길이를 갖고 있으므로 할당된 변수 값의 길이가 s보다 작을 경우에는 그 차이 길이만큼 공간으로 채워진다.
VARCHAR(s)
- CHARACTER VARYING의 약자로 가변 길이 문자열 정보(Oracle은 VARCHAR2로 표현, SQL Server는 VARCHAR로 표현)
- s는 최소 길이 1바이트, 최대 길이 Oracle 4000바이트, SQL Server 8000바이트
- s만큼의 최대 길이를 갖지만 가변 길이로 조정이 되기 때문에 할당된 변수값의 바이트만 적용된다.(Limit 개념)
NUMERIC
- 정수, 실수 등 숫자 정보(Oracle은 NUMBER로, SQL Server는 10가지 이상의 숫자 타입을 갖고 있음)
- Oracle은 처음에 전체 자리 수를 지정하고, 그 다음 소수 부분의 자리 수를 지정한다. 예를 들어, 정수 부분이 6자리이고 소수점 부분이 2자리인 경우에는 ‘NUMBER(8, 2)’와 같이 설정한다.
DATETIME
- 날짜와 시각 정보(Oracle은 DATE로 표현, SQL Server는 DATETIME으로 표현)
- Oracle은 1초 단위, SQL Server는 3.33ms(milisecond) 단위 관리
읽어주셔서 감사합니다. 😊
Reference
SQL 전문가 가이드 - Kdata 한국데이터산업진흥원
This post is licensed under CC BY 4.0 by the author.