다음을 통해 공유


char 및 varchar 데이터 사용

char 및 varchar 데이터 형식은 다음으로 구성된 데이터를 저장합니다.

  • a, b, C 등의 대문자 또는 소문자

  • 1, 2, 3 등의 숫자

  • "at" 기호(@), 앰퍼샌드(&), 느낌표(!) 등의 특수 문자

char 또는 varchar 데이터는 단일 문자 또는 최대 8,000자(char 데이터의 경우) 및 최대 2^31자(varchar 데이터의 경우)의 문자열을 포함할 수 있습니다. varchar 데이터 형식에는 두 가지가 있습니다. 그 중 하나인 varchar 데이터에서는 최대 문자 길이를 지정할 수 있습니다. 예를 들어 varchar(6)은 이 데이터 형식에 최대 6자를 저장할 수 있음을 나타냅니다. 다른 하나는 이 데이터 형식에 저장할 수 있는 최대 문자 수를 2^31까지 늘리는 varchar(max) 형식을 취할 수 있습니다. varchar(max)에 대한 자세한 내용은 큰 값 데이터 형식 사용을 참조하십시오.

각 char 및 varchar 데이터 값에는 데이터 정렬이 있습니다. 데이터 정렬은 각 문자, 비교 규칙, 대/소문자 구분 또는 악센트 구분을 나타내는 데 사용되는 비트 패턴 등의 특성을 정의합니다. 각 데이터베이스에는 기본 데이터 정렬이 있습니다. 열을 정의하거나 상수를 지정하는 경우 COLLATE 절을 사용하여 특정 데이터 정렬을 할당하지 않는 한 데이터베이스의 기본 데이터 정렬이 할당됩니다. 서로 다른 데이터 정렬을 사용하는 두 개의 char 또는 varchar 값을 결합하거나 비교하는 경우 데이터 정렬 우선 순위 규칙에 따라 작업에 사용되는 데이터 정렬이 결정됩니다.

문자 상수는 작은따옴표(') 또는 큰따옴표(")로 묶어야 합니다. 문자 상수는 작은따옴표로 묶는 것이 좋습니다. QUOTED IDENTIFIER 옵션이 ON으로 설정된 경우에는 문자 상수를 큰따옴표로 묶어 사용할 수 없을 때도 있습니다.

다음은 문자 변수를 값으로 설정하는 Transact-SQL의 예입니다.

DECLARE @MyCharVar CHAR(25)
SET @MyCharVar = 'Ricardo Adocicados'

작은따옴표를 사용하여 작은따옴표가 포함된 문자 상수를 구분하는 경우에는 작은따옴표를 두 번 사용하여 포함된 작은따옴표를 표시합니다. 예를 들면 다음과 같습니다.

SET @MyCharVar = 'O''Leary'

저장해야 하는 데이터가 허용되는 문자 수보다 길면 데이터가 잘립니다. 예를 들어 char(10)으로 정의된 열에 "This is a really long character string" 값이 저장되면 SQL Server에서 이 문자열은 "This is a "로 잘립니다.

char 데이터 형식은 NOT NULL 절이 지정된 경우 고정 길이 데이터 형식입니다. 열 길이보다 짧은 값을 char NOT NULL 열에 넣으면 값 오른쪽이 열 크기만큼 공백으로 채워집니다. 예를 들어 char(10)으로 정의된 열에서 저장해야 할 데이터가 "music"이면 SQL Server에서 이 데이터는 "music_____"로 저장됩니다. 여기에서 "_"은 공백을 나타냅니다.

char NULL 열을 만들 때 ANSI_PADDING이 ON으로 설정되면 이는 char NOT NULL 열과 같이 값 오른쪽이 열 크기만큼 공백으로 채워집니다. char NULL 열을 만들 때 ANSI_PADDING이 OFF로 설정되면 이는 ANSI_PADDING이 OFF로 설정된 varchar 열처럼 후행 공백이 잘립니다.

varchar 데이터 형식은 가변 길이 데이터 형식입니다. 값이 열의 크기보다 짧아도 이 값 오른쪽에서 열 끝까지 공백으로 채워지지 않습니다. 열을 만들 때 ANSI_PADDING 옵션이 OFF로 설정되면 열에 저장된 문자 값에서 후행 공백이 잘립니다. 열을 만들 때 ANSI_PADDING이 ON으로 설정되면 후행 공백이 잘리지 않습니다.

문자열 바이트에 비트 패턴을 저장하는 방법은 설치 중에 지정된 Microsoft SQL Server 코드 페이지에 따라 해석됩니다. char 또는 varchar 개체는 SQL Server 코드 페이지의 문자를 모두 포함할 수 있습니다.

SQL Server 6.5 또는 이전 버전의 SQL Server ODBC 드라이버를 사용하는 응용 프로그램에서는 최대 255바이트의 문자 데이터만 지원합니다. 이러한 응용 프로그램에서 SQL Server 7.0 이상 버전의 문자 매개 변수 또는 255바이트 이상의 데이터가 들어 있는 결과 집합 열을 가져오려고 하면 문자 데이터가 255바이트로 잘립니다.