COLUMNPROPERTY(Transact-SQL)

열 또는 프로시저 매개 변수에 대한 정보를 반환합니다.

항목 링크 아이콘Transact-SQL 구문 표기 규칙

구문

COLUMNPROPERTY ( id , column , property ) 

인수

  • id
    테이블이나 프로시저의 식별자(ID)가 포함된 입니다.

  • column
    열이나 매개 변수의 이름이 포함된 식입니다.

  • property
    id에 대해 반환될 정보를 포함하는 식이며 다음 값 중 하나일 수 있습니다.

    설명

    반환 값

    AllowsNull

    Null 값을 허용합니다.

    1 = TRUE

    0 = FALSE

    NULL = 입력이 잘못되었습니다.

    ColumnId

    sys.columns.column_id에 해당하는 열 ID 값입니다.

    열 ID

    참고참고
    여러 열을 쿼리할 때 열 ID 값의 시퀀스에 간격이 나타날 수 있습니다.

    FullTextTypeColumn

    column의 문서 유형 정보를 보관하는 테이블의 TYPE COLUMN입니다.

    이 속성의 두 번째 매개 변수로 전달된 열에 대한 전체 텍스트 TYPE COLUMN의 ID입니다.

    IsComputed

    열이 계산 열입니다.

    1 = TRUE

    0 = FALSE

    NULL = 입력이 잘못되었습니다.

    IsCursorType

    프로시저 매개 변수가 CURSOR 형식입니다.

    1 = TRUE

    0 = FALSE

    NULL = 입력이 잘못되었습니다.

    IsDeterministic

    열이 결정적입니다. 이 속성은 계산 열과 뷰 열에만 적용됩니다.

    1 = TRUE

    0 = FALSE

    NULL = 입력이 잘못되었습니다. 계산 열 또는 뷰 열이 아닙니다.

    IsFulltextIndexed

    전체 텍스트 인덱싱을 위해 등록된 열입니다.

    1 = TRUE

    0 = FALSE

    NULL = 입력이 잘못되었습니다.

    IsIdentity

    IDENTITY 속성을 사용하는 열입니다.

    1 = TRUE

    0 = FALSE NULL = 입력이 잘못되었습니다.

    IsIdNotForRepl

    IDENTITY_INSERT 설정을 확인하는 열입니다. IDENTITY NOT FOR REPLICATION이 지정되어 있으면 IDENTITY_INSERT 설정을 확인하지 않습니다.

    1 = TRUE

    0 = FALSE

    NULL = 입력이 잘못되었습니다.

    IsIndexable

    열을 인덱싱할 수 있습니다.

    1 = TRUE

    0 = FALSE

    NULL = 입력이 잘못되었습니다.

    IsOutParam

    프로시저 매개 변수가 출력 매개 변수입니다.

    1 = TRUE

    0 = FALSE NULL = 입력이 잘못되었습니다.

    IsPrecise

    열이 정확합니다. 이 속성은 확정적인 열에만 적용할 수 있습니다.

    1 = TRUE

    0 = FALSE NULL = 입력이 잘못되었습니다. 확정적인 열이 아닙니다.

    IsRowGuidCol

    uniqueidentifier 데이터 형식을 가지며 ROWGUIDCOL 속성이 정의된 열입니다.

    1 = TRUE

    0 = FALSE

    NULL = 입력이 잘못되었습니다.

    IsSystemVerified

    열의 확정성과 전체 자릿수 속성은 데이터베이스 엔진에서 확인할 수 있습니다. 이 속성은 계산 열과 뷰 열에만 적용됩니다.

    1 = TRUE

    0 = FALSE

    NULL = 입력이 잘못되었습니다.

    IsXmlIndexable

    XML 인덱스에서 XML 열을 사용할 수 있습니다.

    1 = TRUE

    0 = FALSE

    NULL = 입력이 잘못되었습니다.

    Precision

    열 또는 매개 변수 데이터 형식의 길이입니다.

    지정한 열 데이터 형식의 길이

    -1 = xml 또는 큰 값 형식

    NULL = 입력이 잘못되었습니다.

    Scale

    열 또는 매개 변수 데이터 형식의 소수 자릿수입니다.

    소수 자릿수

    NULL = 입력이 잘못되었습니다.

    SystemDataAccess

    SQL Server의 시스템 카탈로그나 가상 시스템 테이블의 데이터에 액세스하는 함수에서 열이 파생됩니다. 이 속성은 계산 열과 뷰 열에만 적용됩니다.

    1 = TRUE(읽기 전용 액세스)

    0 = FALSE

    NULL = 입력이 잘못되었습니다.

    UserDataAccess

    뷰와 임시 테이블을 포함하여 SQL Server 로컬 인스턴스에 저장된 사용자 테이블의 데이터에 액세스하는 함수에서 열이 파생됩니다. 이 속성은 계산 열과 뷰 열에만 적용됩니다.

    1 = TRUE(읽기 전용 액세스)

    0 = FALSE

    NULL = 입력이 잘못되었습니다.

    UsesAnsiTrim

    테이블을 처음 만들었을 때 ANSI_PADDING을 ON으로 설정했습니다. 이 속성은 char 또는 varchar 형식의 열 또는 매개 변수에만 적용됩니다.

    1= TRUE

    0= FALSE

    NULL = 입력이 잘못되었습니다.

    IsSparse

    열이 스파스 열입니다. 자세한 내용은 스파스 열 사용을 참조하십시오.

    1= TRUE

    0= FALSE

    NULL = 입력이 잘못되었습니다.

    IsColumnSet

    열이 열 집합입니다. 자세한 내용은 열 집합 사용을 참조하십시오.

    1= TRUE

    0= FALSE

    NULL = 입력이 잘못되었습니다.

반환 형식

int

예외

오류가 발생하거나 호출자가 개체를 볼 수 있는 권한을 갖고 있지 않으면 NULL을 반환합니다.

SQL Server 2008에서 사용자는 소유하고 있거나 사용 권한을 부여 받은 보안 개체의 메타데이터만 볼 수 있습니다. 즉, 사용자가 개체에 대한 사용 권한이 없으면 COLUMNPROPERTY와 같은 메타데이터 내보내기 기본 제공 함수가 NULL을 반환합니다. 자세한 내용은 메타데이터 표시 유형 구성메타데이터 표시 문제 해결을 참조하십시오.

주의

어떤 열의 확정적 속성을 확인할 때는 먼저 그 열이 계산 열인지 확인하십시오. IsDeterministic은 계산되지 않은 열에 대해 NULL을 반환합니다. 계산 열을 인덱스 열로 지정할 수 있습니다.

다음 예에서는 LastName 열의 길이를 반환하는 방법을 보여 줍니다.

USE AdventureWorks;
GO
SELECT COLUMNPROPERTY( OBJECT_ID('Person.Contact'),'LastName','PRECISION')AS 'Column Length';
GO

결과 집합은 다음과 같습니다.

Column Length 
------------- 
50

(1 row(s) affected)