데이터 형식(데이터베이스 엔진)

데이터가 들어 있는 개체에는 이 개체에 포함할 수 있는 데이터 종류(문자, 정수 또는 이진)를 정의하는 연결된 데이터 형식이 있습니다. 다음과 같은 개체에 데이터 형식이 지정됩니다.

  • 테이블 및 뷰에 있는 열

  • 저장 프로시저에 있는 매개 변수

  • 변수

  • 특정 데이터 형식의 데이터 값을 하나 이상 반환하는 Transact-SQL 함수

  • 데이터 형식이 항상 integer인 반환 코드가 들어 있는 저장 프로시저

데이터 형식을 개체에 할당하면 개체의 네 가지 특성이 정의됩니다.

  • 개체에 포함된 데이터 종류

  • 저장 값의 길이 또는 크기

  • 숫자의 전체 자릿수(숫자 데이터 형식에만 해당)

  • 숫자의 소수 자릿수(숫자 데이터 형식에만 해당)

데이터 형식의 전체 자릿수, 소수 자릿수 및 길이에 대한 자세한 내용은 전체 자릿수, 소수 자릿수 및 길이(Transact-SQL)을 참조하십시오.

Transact-SQL의 시스템 데이터 형식은 다음과 같습니다.

Microsoft SQL Server에 저장된 모든 데이터는 이러한 기본 데이터 형식 중 하나와 호환되어야 합니다. cursor 데이터 형식은 테이블 열에 할당할 수 없는 유일한 시스템 데이터 형식입니다. 이 데이터 형식은 변수와 저장 프로시저 매개 변수에만 사용할 수 있습니다.

여러 기본 데이터 형식에는 동의어가 있습니다. 예를 들어 rowversiontimestamp의 동의어이고 national character varying은 nvarchar의 동의어입니다. 동의어의 동작에 대한 자세한 내용은 데이터 형식 동의어(Transact-SQL)를 참조하십시오.

두 종류의 사용자 정의 데이터 형식을 다음과 같이 만들 수도 있습니다.

  • 기본 데이터 형식에서 별칭 데이터 형식을 만들 수 있습니다. 별칭 데이터 형식을 사용하면 개체의 값 유형을 좀 더 자세히 설명하는 이름을 데이터 형식에 적용할 수 있습니다. 이를 통해 프로그래머나 데이터베이스 관리자는 이 데이터 형식으로 정의된 개체의 용도를 좀 더 쉽게 이해할 수 있습니다. 예를 들면 다음과 같습니다.

    -- Create a birthday datetype that allows nulls.
    CREATE TYPE birthday
    FROM datetime NULL
    GO
    -- Create a table using the new data type.
    CREATE TABLE employee (emp_id char(5), emp_first_name char(30), emp_last_name char(40), emp_birthday birthday)
    

    자세한 내용은 별칭 데이터 형식 작업을 참조하십시오.

  • CLR 사용자 정의 데이터 형식은 관리 코드에서 생성되어 SQL Server 어셈블리에 업로드되는 데이터 형식에 기반합니다. 자세한 내용은 CLR 사용자 정의 형식 작업을 참조하십시오.