COLUMNPROPERTY(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)