sys.types (Transact-SQL)
Aplica-se a: SQL Server Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure Azure Synapse Analytics PDW (Analytics Platform System) Ponto de extremidade de análise do SQL Warehouse no Microsoft Fabric
Contém uma linha para cada tipo definido pelo usuário e sistema.
Nome da coluna | Tipo de dados | Descrição |
---|---|---|
name |
sysname | Nome do tipo. É exclusivo no esquema. |
system_type_id |
tinyint | ID do tipo de sistema interno. |
user_type_id |
int | A ID do tipo É exclusiva no banco de dados. Os tipos de assembly CLR, como hierarchyid, geometry e geography, terão um system_type_id , diferente e podem ser identificados usando is_assembly_type . O tipo de dados sysname é um tipo de dados interno baseado em nvarchar. |
schema_id |
int | ID do esquema ao qual o tipo pertence. |
principal_id |
int | ID do proprietário individual se diferente do proprietário do esquema. Por padrão, os objetos contidos no esquema pertencem ao proprietário do esquema. No entanto, um proprietário alternativo pode ser especificado usando a instrução ALTER AUTHORIZATION para alterar a propriedade.NULL se não houver um proprietário individual alternativo. |
max_length |
smallint | Comprimento de máximo (em bytes) do tipo. - 1 = O tipo de dados da coluna é varchar(max), nvarchar(max), varbinary(max) ou xml.Para colunas de texto , o max_length valor será 16. |
precision |
tinyint | Precisão máxima do tipo se for numérico; caso contrário, 0. |
scale |
tinyint | Escala máxima do tipo se for numérico; caso contrário, 0. |
collation_name |
sysname | Nome da ordenação do tipo se ela for baseada em caracteres; caso contrário, NULL . |
is_nullable |
bit | O tipo permite valor nulo. |
is_user_defined |
bit | 1 = Tipo definido pelo usuário.0 = Tipo de dados do sistema SQL Server. |
is_assembly_type |
bit | 1 = A implementação do tipo é definida em um assembly CLR.0 = Type é baseado em um tipo de dados do sistema SQL Server. |
default_object_id |
int | ID do padrão autônomo associado ao tipo usando sp_bindefault.0 = Não existe padrão. |
rule_object_id |
int | ID da regra autônoma associada ao tipo usando sp_bindrule.0 = Nenhuma regra existe. |
is_table_type |
bit | Indica que o tipo é uma tabela. |
Permissões
A visibilidade dos metadados em exibições do catálogo está limitada aos protegíveis que pertencem a um usuário ou para os quais o usuário recebeu permissão. Para obter mais informações, consulte Metadata Visibility Configuration.
Exemplos de uso
Obter detalhes da coluna de uma tabela
Para obter metadados para colunas em uma tabela, você pode usar o seguinte código:
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');