COLUMNS(Transact-SQL)
현재 데이터베이스에서 현재 사용자가 액세스할 수 있는 열마다 한 행을 반환합니다.
이러한 뷰에서 정보를 검색하려면 INFORMATION_SCHEMA.view_name 형식으로 정규화된 이름을 지정합니다.
열 이름 |
데이터 형식 |
설명 |
---|---|---|
TABLE_CATALOG |
nvarchar(128) |
테이블 한정자입니다. |
TABLE_SCHEMA |
nvarchar(128) |
테이블이 포함된 스키마의 이름입니다.
중요
개체의 스키마를 확인하기 위해 INFORMATION_SCHEMA 뷰를 사용하지 마십시오. 개체의 스키마를 확인하는 신뢰할 수 있는 유일한 방법은 sys.objects 카탈로그 뷰를 쿼리하거나 OBJECT_SCHEMA_NAME 함수를 사용하는 것입니다.
|
TABLE_NAME |
nvarchar(128) |
테이블의 이름입니다. |
COLUMN_NAME |
nvarchar(128) |
열 이름입니다. |
ORDINAL_POSITION |
int |
열 ID입니다. |
COLUMN_DEFAULT |
nvarchar(4000) |
열의 기본값입니다. SQL Server 2008은 카탈로그 메타데이터에 SQL 식을 디코딩하고 저장하는 방식에서 SQL Server 2000과 다릅니다. 디코딩된 식의 의미 체계는 원본 텍스트와 동일하지만 구문은 일치하지 않을 수 있습니다. 예를 들어 공백은 디코딩된 식에서 제거됩니다. 자세한 내용은 SQL Server 2008 데이터베이스 엔진 기능의 동작 변경 내용을 참조하십시오. |
IS_NULLABLE |
varchar(3) |
열의 NULL 허용 여부입니다. 열이 NULL을 허용하는 경우에는 이 열이 YES를 반환하고 허용하지 않는 경우에는 NO가 반환됩니다. |
DATA_TYPE |
nvarchar(128) |
시스템 제공 데이터 형식입니다. |
CHARACTER_MAXIMUM_LENGTH |
int |
이진 데이터, 문자 데이터 또는 텍스트와 이미지 데이터의 최대 길이(문자)입니다. xml 및 큰 값 유형의 데이터인 경우 -1입니다. 다른 데이터 형식에 대해서는 NULL이 반환됩니다. 자세한 내용은 데이터 형식(Transact-SQL)을 참조하십시오. |
CHARACTER_OCTET_LENGTH |
int |
이진 데이터, 문자 데이터 또는 텍스트와 이미지 데이터의 최대 길이(바이트)입니다. xml 및 큰 값 유형의 데이터인 경우 -1입니다. 다른 데이터 형식에 대해서는 NULL이 반환됩니다. |
NUMERIC_PRECISION |
tinyint |
근사 숫자 데이터, 정확한 숫자 데이터, 정수 데이터 또는 통화 데이터의 전체 자릿수입니다. 다른 데이터 형식에 대해서는 NULL이 반환됩니다. |
NUMERIC_PRECISION_RADIX |
smallint |
근사 숫자 데이터, 정확한 숫자 데이터, 정수 데이터 또는 통화 데이터의 전체 자릿수 기수입니다. 다른 데이터 형식에 대해서는 NULL이 반환됩니다. |
NUMERIC_SCALE |
int |
근사 숫자 데이터, 정확한 숫자 데이터, 정수 데이터 또는 통화 데이터의 소수 자릿수입니다. 다른 데이터 형식에 대해서는 NULL이 반환됩니다. |
DATETIME_PRECISION |
smallint |
datetime 및 ISO interval 데이터 형식에 대한 하위 유형 코드입니다. 다른 데이터 형식에 대해서는 NULL이 반환됩니다. |
CHARACTER_SET_CATALOG |
nvarchar(128) |
master를 반환합니다. 이것은 열이 문자 데이터 또는 text 데이터 형식인 경우 문자 집합이 있는 데이터베이스를 나타냅니다. 다른 데이터 형식에 대해서는 NULL이 반환됩니다. |
CHARACTER_SET_SCHEMA |
nvarchar(128) |
항상 NULL을 반환합니다. |
CHARACTER_SET_NAME |
nvarchar(128) |
열이 문자 데이터 또는 text 데이터 형식인 경우 문자 집합의 고유한 이름을 반환합니다. 다른 데이터 형식에 대해서는 NULL이 반환됩니다. |
COLLATION_CATALOG |
nvarchar(128) |
항상 NULL을 반환합니다. |
COLLATION_SCHEMA |
nvarchar(128) |
항상 NULL을 반환합니다. |
COLLATION_NAME |
nvarchar(128) |
열이 문자 데이터 또는 text 데이터 형식인 경우 데이터 정렬의 고유한 이름을 반환합니다. 다른 데이터 형식에 대해서는 NULL이 반환됩니다. |
DOMAIN_CATALOG |
nvarchar(128) |
열이 별칭 데이터 형식인 경우 이 열은 사용자 정의 데이터 형식이 생성된 데이터베이스 이름이 됩니다. 다른 데이터 형식에 대해서는 NULL이 반환됩니다. |
DOMAIN_SCHEMA |
nvarchar(128) |
열이 사용자 정의 데이터 형식인 경우 이 열은 사용자 정의 데이터 형식의 스키마 이름을 반환합니다. 다른 데이터 형식에 대해서는 NULL이 반환됩니다.
중요
데이터 형식의 스키마를 확인하기 위해 INFORMATION_SCHEMA 뷰를 사용하지 마십시오. 형식의 스키마를 확인하는 신뢰할 수 있는 유일한 방법은 TYPEPROPERTY 함수를 사용하는 것입니다.
|
DOMAIN_NAME |
nvarchar(128) |
열이 사용자 정의 데이터 형식인 경우 이 열은 사용자 정의 데이터 형식의 이름이 됩니다. 다른 데이터 형식에 대해서는 NULL이 반환됩니다. |
주의
INFORMATION_SCHEMA.COLUMNS 뷰의 ORDINAL_POSITION 열은 COLUMNS_UPDATED 함수에서 반환된 열의 비트 패턴과 호환되지 않습니다. COLUMNS_UPDATED와 호환되는 비트 패턴을 얻으려면 INFORMATION_SCHEMA.COLUMNS 뷰를 쿼리할 때 COLUMNPROPERTY 시스템 함수의 ColumnID 속성을 참조해야 합니다. 예를 들면 다음과 같습니다.
USE AdventureWorks;
GO
SELECT COLUMN_NAME, COLUMNPROPERTY(OBJECT_ID(TABLE_SCHEMA + '.' + TABLE_NAME), COLUMN_NAME, 'ColumnID') AS COLUMN_ID
FROM AdventureWorks.INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'Employee';
예
다음 예에서는 데이터베이스에서 NULL 값을 가질 수 없는 모든 테이블과 뷰의 열을 반환합니다.
USE AdventureWorks;
GO
SELECT TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME, DATA_TYPE
FROM INFORMATION_SCHEMA.COLUMNS
WHERE IS_NULLABLE = 'NO'
ORDER BY DATA_TYPE;