Delen via


sys.types (Transact-SQL)

Van toepassing op:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)SQL Analytics-eindpunt in Microsoft FabricMagazijn in Microsoft FabricSQL-database in Microsoft Fabric

Bevat een rij voor elk systeem en elk door de gebruiker gedefinieerd type.

Kolomnaam Gegevenstype Description
name sysname Naam van het type. Is uniek binnen het schema.
system_type_id tinyint ID van het interne systeemtype.
user_type_id int ID van het type. Is uniek in de database.

CLR-assemblagetypen zoals hierarchyid, geometry en geography hebben een ander system_type_id, en kunnen worden geïdentificeerd met .is_assembly_type Het sysname-datatype is een intern datatype gebaseerd op nvarchar.
schema_id int ID van het schema waartoe het type behoort.
principal_id int De ID van de individuele eigenaar is anders dan de schema-eigenaar. Standaard zijn schema-contained objecten eigendom van de schema-eigenaar. Een alternatieve eigenaar kan echter worden gespecificeerd door de ALTER AUTHORIZATION-verklaring te gebruiken om het eigendom te wijzigen.

NULL als er geen alternatieve individuele eigenaar is.
max_length smallint Maximale lengte (in bytes) van het type.

- 1 = Het kolomdatatype is varchar(max),nvarchar(max),varbinary(max) of xml.
Voor tekstkolommen is de max_length waarde 16.
precision tinyint Maximale precisie van het type als het numeriek gebaseerd is; anders 0.
scale tinyint Maximale schaal van het type als het numeriek gebaseerd is; anders 0.
collation_name sysname Naam van de collatie van het type als deze op karakter gebaseerd is; Anders, NULL.
is_nullable bit Type is ongedaan.
is_user_defined bit 1 = Door de gebruiker gedefinieerd type.

0 = SQL Server-systeemdatatype.
is_assembly_type bit 1 = De implementatie van het type wordt gedefinieerd in een CLR-assembly.

0 = Type is gebaseerd op het datatype van een SQL Server-systeem.
default_object_id int ID van de standalone standaard die aan het type is gebonden door gebruik te maken van sp_bindefault.

0 = Er bestaat geen standaard.
rule_object_id int ID van de stand-alone regel die aan het type gebonden is door gebruik te maken van sp_bindrule.

0 = Er bestaat geen regel.
is_table_type bit Geeft aan dat het type een tabel is.

Permissions

De zichtbaarheid van de metagegevens in catalogusweergaven is beperkt tot beveiligbare items waarvan een gebruiker eigenaar is of waarvoor de gebruiker een bepaalde machtiging heeft gekregen. Zie Zichtbaarheidsconfiguratie voor metagegevensvoor meer informatie.

Voorbeelden van gebruik

Kolomdetails voor een tabel ophalen

Als u metagegevens voor kolommen in een tabel wilt ophalen, kunt u de volgende code gebruiken:

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