예제가 포함된 SQL Server 데이터 형식
데이터 유형이란 무엇입니까?
A 데이터 형식 SQL Server에서는 모든 열이나 변수가 저장할 수 있는 데이터 유형으로 정의됩니다. 이는 정수, 문자, 문자열 등과 같이 객체가 보유하는 데이터 유형입니다. 테이블이나 변수를 생성하는 동안 이름을 지정하는 것 외에도 저장할 데이터 유형도 설정합니다.
MS SQL 데이터 유형을 사용하는 방법
- 열이나 변수가 저장할 수 있는 데이터 유형을 미리 정의해야 합니다. 데이터 유형을 결정하면 사용자가 예상치 못한 데이터나 유효하지 않은 데이터를 입력하는 것도 제한됩니다.
- 각 열의 데이터에 필요한 시스템 메모리 양만 할당하는 변수나 열에 적절한 데이터 유형을 할당하면 메모리를 효율적으로 사용할 수 있습니다.
- MS SQL은 날짜, 이진 이미지 등과 같은 사용자 요구에 따라 SQL의 광범위한 기본 데이터 유형 범주를 제공합니다.
DataType을 사용하는 이유는 무엇입니까?
간단한 샘플을 보겠습니다. 가입 페이지 웹사이트 애플리케이션의 세 가지 입력 필드는 이름, 성, 연락처입니다.
여기서 우리는 실시간으로 다음 사항에 주목해야 합니다.
- “이름/성” 언제 까지나 그럴거야 알파벳.
- "접촉" 언제 까지나 그럴거야 숫자.
- 위 그림에서 정의할 가치가 있습니다. “이름/성” 등 문자 그리고 "접촉" 로 정수.
모든 애플리케이션에서 모든 필드에는 하나 또는 다른 유형의 데이터가 있다는 것이 분명합니다. 예: 숫자, 알파벳, 날짜 등.
또한 데이터 유형에 따라 메모리 요구 사항이 다릅니다. 따라서 열을 정의하는 것이 더 합리적입니다. 변수 데이터 유형을 사용하면 메모리를 효율적으로 사용하기 위해 유지됩니다.
MS SQL Server에서 사용할 수 있는 데이터 유형
다음은 MS SQL 서버 데이터 유형 목록입니다.
MS SQL 서버 다음 데이터 유형 범주를 지원합니다.
- 정확한 숫자
- 대략적인 숫자
- 날짜와 시간
- 문자열
- 유니코드 문자열
- 바이너리 문자열
- 기타 데이터 유형
SQL의 정확한 숫자 데이터 유형
정확한 숫자에는 SQL Server의 XNUMX가지 유형의 하위 데이터 유형이 있습니다.
정확한 숫자 데이터 유형
데이터 형식 | 기술설명 | 하한 | 상한 | 메모리 |
---|---|---|---|---|
bigint | 주어진 범위 내의 정수를 저장합니다. | −2^63 (−9,223,372, 036,854,775,808) | 2^63−1 (−9,223,372, 036,854,775,807) | 8 바이트 |
INT | 주어진 범위 내의 정수를 저장합니다. | −2^31 (−2,147, 483,648) | 2^31−1 (−2,147, 483,647) | 4 바이트 |
스몰 인트 | 주어진 범위 내의 정수를 저장합니다. | −2^15 (−32,767) | 2^15 (−32,768) | 2 바이트 |
작은 | 주어진 범위 내의 정수를 저장합니다. | 0 | 255 | 1 바이트 |
비트 | 0, 1 또는 NULL 값을 사용할 수 있습니다. | 0 | 1 | 1바이트/8비트 컬럼 |
소수 | 크기 및 고정 정밀도 숫자에 사용됨 | −10^38+1 | 10^381−1 | 5~17바이트 |
숫자 | 크기 및 고정 정밀도 숫자에 사용됨 | −10^38+1 | 10^381−1 | 5~17바이트 |
돈 | 사용된 화폐 데이터 | -922,337, 203, 685,477.5808 | +922,337, 203, 685,477.5807 | 8 바이트 |
소액 | 사용된 화폐 데이터 | - 214,478.3648 | +214,478.3647 | 4 바이트 |
정확한 숫자 데이터 유형 SQL 서버 예를 들어:
검색어 :
DECLARE @Datatype_Int INT = 2 PRINT @Datatype_Int
산출
2
통사론
십진수(P,S)
여기
- P는 정밀도
- S는 규모
검색어 :
DECLARE @Datatype_Decimal DECIMAL (3,2) = 2.31 PRINT @Datatype_Decimal
산출
2.31
SQL의 대략적인 숫자 데이터 유형
SQL 대략적인 숫자 범주에는 부동 소수점 및 실수 값이 포함됩니다. SQL의 이러한 데이터 유형은 주로 과학적 계산에 사용됩니다.
대략적인 숫자 데이터 유형
데이터 형식 | 기술설명 | 하한 | 상한 | 메모리 | Precision |
---|---|---|---|---|---|
플로트(n) | 부동 정밀도 숫자에 사용됩니다. | −1.79E+308 | 1.79 308 + | n 값에 따라 다름 | 7 Digit |
현실 | 부동 정밀도 숫자에 사용됩니다. | −3.40E+38 | 3.40 38 + | 4 바이트 | 15 Digit |
Syntax: FLOAT [(n)]
여기 n 는 가수를 저장하는 데 사용되는 비트 수입니다. 뜨다 과학적 표기법으로 된 숫자. 기본적으로 n 값은 53입니다.
사용자가 float와 같은 데이터 유형을 정의하면 n 1에서 53 사이의 값이어야 합니다.
SQL Server가 처리합니다. n 두 가지 가능한 값 중 하나로. 1<=n<=24이면 n은 24로 처리됩니다. 25<=n<=53이면 n은 53으로 처리됩니다.
예시 쿼리:
DECLARE @Datatype_Float FLOAT(24) = 22.1234 PRINT @Datatype_Float
산출
22.1234
SQL의 날짜 및 시간 데이터 유형
날짜 및 시간 유형의 데이터를 저장합니다.
날짜 및 시간 데이터 유형
데이터 형식 | 기술설명 | 저장 크기 | 정확성 | 낮은 범위 | 상위 범위 |
---|---|---|---|---|---|
날짜 시간 | 1년 1753월 31일부터 9999년 3.33월 XNUMX일까지의 날짜와 시간을 지정하는 데 사용됩니다. 정확도는 XNUMX밀리초입니다. | 8 바이트 | .000, .003, .007 단위로 반올림됨 | 1753-01-01 | 9999-12-31 |
작은 날짜 시간 | 1년 0001월 31일부터 9999년 100월 XNUMX일까지의 날짜와 시간을 지정하는 데 사용됩니다. 정확도는 XNUMX나노초입니다. | 4바이트, 고정 | 1 분 | 1900-01-01 | 2079-06-06 |
데이터 | 1년 0001월 31일부터 9999년 XNUMX월 XNUMX일까지의 날짜만 저장하는 데 사용됩니다. | 3바이트, 고정 | 1 일 | 0001-01-01 | 9999-12-31 |
시간 | 100나노초의 정확도로 시간 전용 값만 저장하는 데 사용됩니다. | 5 바이트 | 100 나노초 | 00:00:00.0000000 | 23:59:59.9999999 |
날짜/시간 오프셋 | datatime과 유사하지만 시간대 오프셋이 있습니다. | 10 바이트 | 100 나노초 | 0001-01-01 | 9999-12-31 |
날짜/시간2 | 1년 0001월 31일부터 9999년 XNUMX월 XNUMX일까지 날짜와 시간을 지정하는 데 사용됩니다. | 6 바이트 | 100 나노초 | 0001-01-01 | 9999-12-31 |
예제 쿼리:
DECLARE @Datatype_Date DATE = '2030-01-01' PRINT @Datatype_Date
산출
'2030-01-01'
SQL의 문자열 데이터 유형
이 카테고리는 문자 유형과 관련이 있습니다. 이를 통해 사용자는 고정 길이와 가변 길이의 문자 데이터 유형을 정의할 수 있습니다. XNUMX가지 종류의 데이터 유형이 있습니다. 다음은 문자열 SQL Server 데이터 유형과 예입니다.
문자열 데이터 유형
데이터 형식 | 기술설명 | 하한 | 상한 | 메모리 |
---|---|---|---|---|
이륜 전차 | 너비가 고정된 문자열입니다. 최대 8,000자를 저장할 수 있습니다. | 0 자 | 8000 자 | n바이트 |
varchar | 가변 너비의 문자열입니다. | 0 자 | 8000 자 | n바이트 + 2바이트 |
varchar(최대) | 가변 폭을 갖는 문자열입니다. 최대 1,073,741,824자를 저장합니다. | 0 자 | 2^31자 | n바이트 + 2바이트 |
본문 | 가변 폭을 갖는 문자열입니다. 최대 2GB의 텍스트 데이터를 저장합니다. | 0 자 | 2,147,483,647 자 | n바이트 + 4바이트 |
예제 쿼리:
DECLARE @Datatype_Char VARCHAR(30) = 'This is Character Datatype' PRINT @Datatype_Char
산출
이것은 문자 데이터 유형입니다
SQL의 유니코드 문자열 데이터 유형
이 범주는 UTF-16 문자 인코딩을 사용하는 전체 범위의 유니코드 문자를 저장합니다.
유니코드 문자열 데이터 유형
데이터 형식 | 기술설명 | 하한 | 상한 | 메모리 |
---|---|---|---|---|
엔차 | 고정폭의 유니코드 문자열입니다. | 0 자 | 4000 자 | 2번 n바이트 |
nvarchar | 가변 너비의 유니코드 문자열입니다. | 0 자 | 4000 자 | 2 x n바이트 + 2바이트 |
텍스트 | 가변 너비의 유니코드 문자열입니다. | 0 자 | 1,073,741,823 자 | 문자열 길이의 2배 |
예시 쿼리:
DECLARE @Datatype_nChar VARCHAR(30) = 'This is nCharacter Datatype' PRINT @Datatype_nChar
산출
이것은 nCharacter 데이터 유형입니다.
SQL의 이진 문자열 데이터 유형
이 범주에는 고정 길이와 가변 길이의 이진 문자열이 포함되어 있습니다.
바이너리 문자열 데이터 유형
데이터 형식 | 기술설명 | 하한 | 상한 | 메모리 |
---|---|---|---|---|
진 | 고정 너비 이진 문자열입니다. 최대 8,000바이트를 저장합니다. | 0 바이트 | 8000 바이트 | n바이트 |
바르바이너리 | 이는 가변 너비의 이진 문자열입니다. 최대 8,000바이트를 저장합니다. | 0 바이트 | 8000 바이트 | 입력된 데이터의 실제 길이 + 2바이트 |
영상 | 이는 가변 너비의 이진 문자열입니다. 최대 2GB까지 저장됩니다. | 0 바이트 | 2,147,483,647 바이트 |
예시 쿼리:
DECLARE @Datatype_Binary BINARY(2) = 12; PRINT @Datatype_Binary
산출
0x000C
SQL의 기타 데이터 유형
이는 아래 설명과 함께 다른 SQL 서버 데이터 유형입니다.
데이터 형식 | 기술설명 |
---|---|
커서 | 출력은 다음과 같은 열입니다. sp_cursor_list 그리고 sp_describe_cursor. 커서 변수의 이름을 반환합니다. |
행 버전 | 버전은 테이블 행에 스탬프를 찍습니다. |
계층구조 | 이 데이터 유형은 계층 구조의 위치를 나타냅니다. |
고유 식별자 | 문자 표현에서 변환. |
SQL_변형 | SQL Server 지원 데이터 유형의 값을 저장합니다. |
XML | XML 데이터를 열에 저장합니다. |
공간 기하학 유형 | 평면 좌표계의 데이터를 나타냅니다. |
공간 지리 유형 | 둥근 지구 좌표계의 데이터를 나타냅니다. |
테이블 | 나중에 처리하기 위해 결과 집합을 저장합니다. |
흥미로운 사실!
- CHAR 데이터 유형 데이터를 검색하는 동안 SQL VARCHAR 데이터 유형보다 빠릅니다.
제품 개요
- 테이블의 모든 열은 테이블 생성 중에 해당 데이터 유형으로 정의됩니다.
- 6개의 주요 범주와 1개의 기타 범주가 있습니다. 기타 기타 범주에는 9개의 하위 범주가 있습니다. SQL 서버 데이터 유형 및 크기를 사용할 수 있습니다.