다음을 통해 공유


sys.types(Transact-SQL)

적용 대상: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System(PDW) Microsoft Fabric의 SQL 분석 엔드포인트 Microsoft Fabric의 웨어하우스

각 시스템 및 사용자 정의 형식에 대한 행을 포함합니다.

열 이름 데이터 형식 설명
name sysname 형식의 이름입니다. 스키마 내에서 고유합니다.
system_type_id tinyint 내부 시스템 형식의 ID입니다.
user_type_id int 유형 ID입니다. 데이터베이스 내에서 고유합니다.

hierarchyid, geometry 및 geography같은 CLR 어셈블리 형식은 다른 system_type_id형식을 가지며 , 를 사용하여 is_assembly_type식별할 수 있습니다. sysname 데이터 형식은 nvarchar를 기반으로 하는 내부 데이터 형식입니다.
schema_id int 형식이 속한 스키마의 ID입니다.
principal_id int 스키마 소유자와 다른 경우 개별 소유자의 ID입니다. 기본적으로 스키마가 포함된 개체는 스키마 소유자가 소유합니다. 그러나 ALTER AUTHORIZATION 문으로 대체 소유자를 지정하여 소유권을 변경할 수 있습니다.

NULL 대체 개별 소유자가 없으면 입니다.
max_length smallint 유형의 최대 길이(바이트)입니다.

-1= 열 데이터 형식은 varchar(max), nvarchar(max), varbinary(max) 또는 xml입니다.
텍스트 열의 경우 값은 max_length 16입니다.
precision tinyint 숫자 기반 형식인 경우에는 형식의 최대 전체 자릿수이며 그렇지 않으면 0입니다.
scale tinyint 숫자 기반인 경우 형식의 최대 소수 자릿수입니다. 그렇지 않으면 0입니다.
collation_name sysname 문자 기반인 경우 형식의 데이터 정렬 이름입니다. 다른 현명한, NULL.
is_nullable bit 형식은 null 허용입니다.
is_user_defined bit 1 = 사용자 정의 형식입니다.

0 = SQL Server 시스템 데이터 형식입니다.
is_assembly_type bit 1 = 형식의 구현은 CLR 어셈블리에 정의됩니다.

0 = 형식은 SQL Server 시스템 데이터 형식을 기반으로 합니다.
default_object_id int sp_bindefault 사용하여 형식에 바인딩된 독립 실행형 기본값의 ID입니다.

0 = 기본값이 없습니다.
rule_object_id int sp_bindrule 사용하여 형식에 바인딩된 독립 실행형 규칙의 ID입니다.

0 = 규칙이 없습니다.
is_table_type bit 유형이 테이블임을 나타냅니다.

사용 권한

사용자가 소유하고 있거나 사용 권한을 부여 받은 보안 개체에 대해서만 카탈로그 뷰의 메타데이터를 볼 수 있습니다. 자세한 내용은 Metadata Visibility Configuration을 참조하세요.

사용 예

테이블에 대한 열 세부 정보 가져오기

테이블의 열에 대한 메타데이터를 얻으려면 다음 코드를 사용할 수 있습니다.

CREATE TABLE dbo.[sample] (
    id INT NOT NULL
    ,col1 VARBINARY(10) NULL
    )
GO

SELECT c.[name] AS column_name
    ,t.[name] AS [type_name]
    ,c.[max_length]
    ,c.[precision]
    ,c.[scale]
FROM sys.columns c
INNER JOIN sys.types t ON c.user_type_id = t.user_type_id
WHERE object_id = object_id('dbo.sample');