데이터형 | 크기 | 범위 |
Begint | 8byte | -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 |
Int | 4byte | -2,147,483,648 ~ -2,147,483,647 |
Tinyint | 2byte | 0 ~ 255 |
Bit | 1byte | 1, 0, Null |
Smallint | 4byte | -2,147,483,648 ~ -2,147,483,647 |
2. 실수
(1) 고정형(Decimal, Numeric)
크기및 범위 : Numeric(전체크기, 소수점이하크기)
만일 Numeric(12, 2)라고 한다면 전체가 12자리이고 그 중에서 소수점이 2자리임을 의미합니다. 이때 전체크기가 1~9라면 5 byte, 10~19라면 9 byte, 20~28이라면 13 byte의 크기를 갖게 됩니다. 즉, 전체자리가 위와같이 증가한다면 크기는 4byte씩 늘어나는 것입니다.
또한 사용상 Decimal과 Numeric은 차이가 없습니다.
(2) 부동형실수(Float, Real)
크기및 범위 : Float(숫자)
Float에는 얼마만큼의 숫자가 들어가느냐에 따라 표현가능한 자리수가 달라집니다. 일반적으로 1~24까지 7자리(4 byte), 25~53까지 15자리(8 byte)표현이 가능합니다.
Real은 Float(24)와 같으며 7자리까지만 표현이 가능합니다.
3. 통화(통화형식은 소수점 이하 4자리수까지로 제한합니다.)
데이터형 | 크기 | 범위 |
Money | 8byte | -922,337,203,685,477.5808 ~ 922,337,203,685,477.5807 |
Smallmoney | 4byte | -214,748.3648 ~ 214,748.3647 |
4. 문자(문자열)
데이터형 | 크기 | 범위 |
Char(n) / NChar(n) | 입력된 n byte / 입력된 n * 2 byte | 8000자 이하 / 4000자 이하 |
Varchar(n) / NVarchar(n) | n에 입력된 크기와 상관없이 실제 사용된 만큼 | 8000자 이하 / 4000자 이하, MAX지정시 2기가 / 1,073,741,823자(단 MAX는 MS SQL 2008버전부터는 사용되지 않습니다.) |
Text / NText | 231-1 byte / 230-1 byte | 2,147,483,647자 / 1,073,741,823자 |
참고: n으로 시작되는 형식은 유니코드문자용입니다.(대부분의 경우 크기는 n이 없는 형의 * 2 가 되며 저장할 수 있는 크기는 n이 없는 형의 절반입니다.) |
5. 날짜형식
데이터형 | 크기 | 범위 |
Datetime | 8byte | 1753-01-01 ~ 9999-12-31(ms단위까지) |
SmallDateTime | 4byte | 1990-01-01 ~ 2079-06-09(분까지) |
참고 : 년도를 4자리로 하지 않고 두자리만 지정시 년도는 다음과 같이 인식됩니다. 00 ~ 49 까지 : 2000년대 50 ~ 99 까지 : 1900년대 |
6. 이진형식
데이터형 | 범위 |
Binary(n) / VarBinary(n) | 1~8000까지의 이진데이터(n을 생략시 1, cast에서 지정하지 않으면 30을 기본) |
Image | 232-1byte(2,147,483,647 byte까지) |
7. 시스템 형식
데이터형 | 설명 |
Cursor | 커서 |
Sql_Variant | IMAGE, NTEXT, NVARCHAR(MAX), TEXT, TIMESTAMP, VARCHAR(MAX), XML를 제외한 모든 자료형 대체가능 |
Table | Table |
TimeStamp | TABLE의 행이 바뀔때마다 바뀌는 고유한 숫자(8 byte) |
Uniqueidentifier | Newid()를 통해 발생되는 고유값으로 16진수로 구성된 각 자리수가 xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx형태로 구성되며 IS NULL이나 IS NOT NULL, =, <=, >=, <>, >, < 의 연산자만 허용합니다. |
Xml | Xml |
8. 사용자 형식
(1) sp_addtype
sp_addtype 이름, '데이터형', null 여부, '소유자' 의 형태로 씁니다. null여부와 소유자는 생략할 수 있는데 이경우 null허용하게 되며 해당 데이터형은 현재사용자가 소유자가 되는것이 기본입니다.
sp_addtype postal, 'Char(07)';
Go
Declare @ipostal As postal;
Set @ipostal = '780-080'; Select @ipostal; |
지정한 사용자 형식을 삭제하는 방법은 다음과 같습니다.
sp_droptype postal; |
(2) Create Type
Create Type은 sp_addtype에 비해 소유자를 지정할 수 없을뿐 sp_addtype과 같습니다.
사용형식은 'Create Type 이름 From 데이터형, null 여부'로 구현됩니다.
Create Type postal From Char(07) Not Null;
Go
Declare @ipostal As postal;
Set @ipostal = '780-080' Select @ipostal; |
지정한 사용자 형식을 삭제하는 방법은 다음과 같습니다.
Drop Type postal; |
댓글 없음:
댓글 쓰기