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');