Varchar는 영어(ASCII) 문자 하나당 2바이트를 차지하고, 중국어 문자 하나당 2바이트만 차지합니다.
char는 영어(ASCII) 문자 하나당 1바이트를 차지하고, 한자 하나당 2바이트를 차지합니다. 의 Varchar 바이트가 공백으로 채워지지 않습니다(예: varchar(100)). 그러나 해당 값은 "qian"일 뿐이고 해당 값은 "qian"이고 char은 다릅니다(예: char(100)). 해당 값은 "qian"입니다. 이지만 실제로는 데이터베이스에서 "qian"입니다(qian 뒤에 96개의 공백이 있으며 이는 100바이트로 채워짐을 의미합니다).
char는 길이가 고정되어 있기 때문에 varchar보다 훨씬 빠르지만, 양쪽 공백을 없애려면 트림 등의 기능을 사용해야 합니다! 🎜>ntext
가변 길이 유니코드 데이터의 최대 길이는 230 - 1(1,073,741,823)자입니다. 저장 크기는 입력한 문자 수(바이트)의 두 배입니다. ntext의 SQL-92 동의어는 국가별 텍스트입니다.
텍스트
서버 코드 페이지에서 유니코드가 아닌 가변 길이 데이터의 최대 길이는 231-1(2,147,483,647)자입니다. 서버 코드 페이지가 2바이트 문자를 사용하는 경우 저장 용량은 여전히 2,147,483,647바이트입니다. 저장소 크기는 문자열에 따라 2,147,483,647바이트보다 작을 수 있습니다.
bigint: -2^63(-9223372036854775808)부터 2^63-1(9223372036854775807)까지의 정수 데이터, 저장 크기는 8바이트입니다.
int: -2^31(-2,147,483,648)부터 2^31-1(2,147,483,647)까지의 정수 데이터, 저장 크기는 4바이트입니다.
smallint: -2^15(-32,768)부터 2^15-1(32,767)까지의 정수 데이터, 저장 크기는 2바이트입니다.
tinyint: 0~255의 정수 데이터, 저장 크기는 1바이트입니다.
bit: 1 또는 0의 정수 데이터, 저장 크기는 1바이트입니다.
유니코드 데이터
Microsoft® SQL Server™ 2000에서는 전통적으로 유니코드가 아닌 데이터 유형에서 특정 문자 집합으로 정의된 문자를 사용할 수 있었습니다. 문자 집합은 SQL Server를 설치할 때 선택되며 변경할 수 없습니다. 유니코드 데이터 유형을 사용하면 다른 문자 집합으로 정의된 모든 문자를 포함하여 유니코드 표준으로 정의된 모든 문자를 열에 저장할 수 있습니다. 유니코드 데이터 유형에는 유니코드가 아닌 데이터 유형에 비해 두 배의 저장 공간이 필요합니다.
유니코드 데이터는 SQL Server에서 nchar, varchar 및 ntext 데이터 유형을 사용하여 저장됩니다. 여러 문자 세트의 문자를 저장하는 열에 대해 이러한 데이터 유형을 사용하십시오. 열의 항목에 다른 수의 유니코드 문자(최대 4000)가 포함된 경우 nvarchar 유형을 사용합니다. 열의 항목이 동일한 고정 길이(최대 4000개의 유니코드 문자)인 경우 nchar 유형을 사용합니다. 열의 항목이 유니코드 4000자를 초과하는 경우 ntext 유형을 사용하십시오.
설명 SQL Server의 유니코드 데이터 형식은 SQL-92 표준의 국가별 문자 데이터 형식을 기반으로 합니다. SQL-92는 접두사 문자 n을 사용하여 이러한 데이터 유형과 해당 값을 식별합니다.
1. 데이터 유형
데이터 유형은 데이터가 나타내는 정보의 유형을 나타내는 데이터의 속성입니다. 모든 컴퓨터 언어는 고유한 데이터 유형을 정의합니다. 물론 프로그래밍 언어마다 특성이 다르며 정의된 데이터 유형의 유형과 이름도 다소 다릅니다. SQL Server는 25가지 데이터 유형을 제공합니다:
·Binary [(N)]
·Varbinary [(N)]
·Char [(N)]
·Varchar[(N)]
·Nchar[(N)]
·Nvarchar[(N)]
·날짜시간
·작은 날짜시간
·십진수[(p[,s])]
·숫자[( p[ ,s])]
·Float[(N)]
·Real
·Int
·Smallint
·Tinyint
·Money
·Smallmoney
·Bit
·커서
·시스템 이름
·타임스탬프
·고유 식별자
·텍스트
·이미지
·Ntext
(1) 바이너리 데이터 유형
바이너리 데이터에는 Binary, Varbinary 및 Image가 포함됩니다.
바이너리 데이터 유형은 고정 길이(Binary) 또는 가변 길이일 수 있습니다.
바이너리[(N)]는 n비트 고정 바이너리 데이터입니다. 그 중 n의 값 범위는 1부터 8000까지이다. 저장 크기는 n + 4바이트입니다.
Varbinary[(N)]은 n비트 가변 길이 바이너리 데이터입니다. 그 중 n의 값 범위는 1부터 8000까지이다. 저장 공간의 크기는 n 바이트가 아닌 n + 4 바이트입니다.
이미지 데이터 유형에 저장된 데이터는 비트 문자열로 저장되며 SQL Server에서 해석되지 않으며 애플리케이션에서 해석되어야 합니다. 예를 들어, 애플리케이션은 BMP, TIEF, GIF 및 JPEG 형식을 사용하여 이미지 데이터 유형으로 데이터를 저장할 수 있습니다.
(2)문자 데이터 유형
문자 데이터 유형에는 Char, Varchar 및 Text가 포함됩니다.
문자 데이터는 문자, 기호, 숫자의 조합으로 구성된 데이터입니다.
Varchar는 가변 길이 문자 데이터로 길이가 8KB를 초과하지 않습니다. Char는 최대 길이가 8KB인 고정 길이 문자 데이터입니다. 8KB를 초과하는 ASCII 데이터는 Text 데이터 유형을 사용하여 저장할 수 있습니다. 예를 들어 HTML 문서는 모두 ASCII 문자이고 일반적으로 길이가 8KB를 초과하므로 이러한 문서는 텍스트 데이터 형식으로 SQL Server에 저장할 수 있습니다.
(3)유니코드 데이터 유형
유니코드 데이터 유형에는 Nchar, Nvarchar 및 Ntext가 포함됩니다.
Microsoft SQL Server에서는 유니코드가 아닌 기존 데이터 유형을 통해 특정 문자 집합으로 정의된 문자를 사용할 수 있습니다. SQL Server 설치 중에 문자 집합을 선택할 수 있습니다. 유니코드 데이터 유형을 사용하면 유니코드 표준에 의해 정의된 모든 문자를 열에 저장할 수 있습니다. 유니코드 표준에는 다양한 문자 집합에 정의된 모든 문자가 포함됩니다. 유니코드 데이터 유형을 사용하면 차지하는 공간은 비유니코드 데이터 유형을 사용하여 차지하는 공간 크기의 두 배입니다.
SQL Server에서 유니코드 데이터는 Nchar, Nvarchar 및 Ntext 데이터 유형으로 저장됩니다. 이 문자 유형을 사용하여 저장된 열은 여러 문자 집합의 문자를 저장할 수 있습니다. 열 길이가 다양할 경우 최대 4000자를 저장할 수 있는 Nvarchar 문자 유형을 사용해야 합니다. 컬럼의 길이가 고정되어 있는 경우에는 Nchar 문자 타입을 사용해야 하며, 최대 4000자까지 저장할 수 있다. Ntext 데이터 유형을 사용하는 경우 열은 4000자 이상을 저장할 수 있습니다.
(4)날짜 및 시간 데이터 유형
날짜 및 시간 데이터 유형에는 Datetime 및 Smalldatetime이 포함됩니다.
날짜 및 시간 데이터 유형은 유효한 날짜 및 시간으로 구성됩니다. 예를 들어 유효한 날짜 및 시간 데이터에는 "4/01/98 12:15:00:00:00 PM" 및 "1:28:29:15:01 AM 8/17/98"이 포함됩니다. 전자의 데이터 형식은 날짜가 앞에 있고 시간이 뒤에 있습니다. 후자의 데이터 형식은 순간이 앞에 있고 날짜가 뒤에 있습니다. Microsoft SQL Server에서 날짜 및 시간 데이터 유형에 Datetime 및 Smalldatetime이 포함된 경우 저장된 날짜 범위는 1753년 1월 1일부터 9999년 12월 31일에 끝납니다(각 값에는 8개의 저장 바이트가 필요함). Smalldatetime 데이터 형식을 사용하는 경우 저장된 날짜 범위는 1900년 1월 1일에 시작하여 2079년 12월 31일에 끝납니다(각 값에는 4바이트의 저장 공간이 필요함).
날짜 형식을 설정할 수 있습니다. 날짜 형식을 설정하는 명령은 다음과 같습니다.
Set DateFormat {format | @format _var|
여기서 format | 유효한 매개변수에는 MDY, DMY, YMD, YDM, MYD 및 DYM이 포함됩니다. 기본적으로 날짜 형식은 MDY입니다.
예를 들어 Set DateFormat YMD를 실행하면 날짜 형식이 연, 월, 일이고, Set DateFormat DMY를 실행하면 날짜 형식이 일, 월, 연 형식이 됩니다.
(5) 숫자 데이터 type
Number 데이터에는 숫자만 포함됩니다. 숫자 데이터 유형에는 양수 및 음수, 소수(부동 소수점 수) 및 정수가 포함됩니다.
정수는 39, 25, 0-2, 33967과 같은 양수와 음수로 구성됩니다. Microsoft SQL Server에서 정수 저장소의 데이터 유형은 Int, Smallint 및 Tinyint입니다. Int 데이터 유형은 Smallint 데이터 유형보다 더 큰 범위에 데이터를 저장하고, Smallint 데이터 유형은 Tinyint 데이터 유형보다 더 큰 범위에 데이터를 저장합니다. Int 데이터를 이용하여 저장되는 데이터의 범위는 -2 147 483 648 ~ 2 147 483 647 (각 값당 4바이트의 저장공간 필요)이다. Smallint 데이터 타입을 사용할 경우 저장되는 데이터의 범위는 -32 768 ~ 32 767(각 값당 2바이트의 저장 공간 필요)이다. Tinyint 데이터 타입을 사용할 경우 저장되는 데이터의 범위는 0~255(각 값당 1바이트의 저장공간 필요)이다.
SQL Server의 정밀 Xiaolou 데이터 유형은 Decimal과 Numeric입니다. 이 데이터가 차지하는 저장 공간은 데이터의 비트 수 이후의 비트 수에 따라 결정됩니다.
SQL Server에서 대략적인 십진수 데이터의 데이터 유형은 Float 및 Real입니다. 예를 들어 분수 1/3은 다음과 같이 씁니다. 3333333, 대략적인 데이터 유형을 사용할 때 정확하게 표현됩니다. 따라서 시스템에서 검색된 데이터는 열에 저장된 데이터와 정확히 동일하지 않을 수 있습니다.
(6) 통화 데이터는 양수 또는 음수 통화량을 나타냅니다. Microsoft SQL Server에서 화폐 데이터의 데이터 유형은 Money 및 Smallmoney입니다. Money 데이터 유형에는 8바이트의 저장 공간이 필요하고 Smallmoney 데이터 유형에는 4바이트의 저장 공간이 필요합니다.
(7) 특수 데이터 유형
특수 데이터 유형에는 이전에 언급되지 않은 데이터 유형이 포함됩니다. Timestamp, Bit 및 Uniqueidentifier라는 세 가지 특수 데이터 유형이 있습니다.
타임스탬프는 SQL Server 활동의 순서를 나타내는 데 사용되며 이진 프로젝션 형식으로 표현됩니다. 타임스탬프 데이터는 삽입된 데이터나 날짜 및 시간과 아무 관련이 없습니다.
비트는 1 또는 0으로 구성됩니다. Bit 데이터 타입은 참, 거짓, ON, OFF를 나타낼 때 사용됩니다. 예를 들어, 모든 액세스를 요청하는 클라이언트 요청은 이 데이터 유형의 열에 저장될 수 있습니다.
고유 식별자는 전역적으로 고유한 식별자를 나타내는 16바이트의 16진수 숫자로 구성됩니다. GUID는 테이블 행이 고유해야 하는 경우 매우 유용합니다. 예를 들어, 고객 식별 번호 열에 이 데이터 유형을 사용하여 여러 고객을 구별합니다.