sys.types (Transact-SQL)
Si applica a: SQL Server Database SQL di Azure Istanza gestita di SQL di Azure Azure Synapse Analytics Piattaforma di strumenti analitici (PDW) Endpoint di analisi SQL in Microsoft Fabric Warehouse in Microsoft Fabric
Contiene una riga per ogni tipo di sistema e definito dall'utente.
Nome colonna | Tipo di dati | Descrizione |
---|---|---|
name |
sysname | Nome del tipo. Valore univoco all'interno dello schema. |
system_type_id |
tinyint | ID del tipo di sistema interno. |
user_type_id |
int | ID del tipo. Valore univoco all'interno del database. I tipi di assembly CLR, ad esempio hierarchyid, geometry e geography, avranno un oggetto diverso system_type_id e possono essere identificati usando is_assembly_type . Il tipo di dati sysname è un tipo di dati interno basato su nvarchar. |
schema_id |
int | ID dello schema a cui appartiene il tipo. |
principal_id |
int | ID del proprietario, se diverso dal proprietario dello schema. Per impostazione predefinita, gli oggetti contenuti nello schema appartengono al proprietario dello schema stesso. È tuttavia possibile specificare un altro proprietario modificando la proprietà mediante l'istruzione ALTER AUTHORIZATION.NULL se non esiste un proprietario individuale alternativo. |
max_length |
smallint | Lunghezza massima (in byte) del tipo. - 1 = Il tipo di dati della colonna è varchar(max), nvarchar(max), varbinary(max)o xml.Per le colonne di testo , il max_length valore sarà 16. |
precision |
tinyint | Precisione massima del tipo se numerica. In caso contrario 0. |
scale |
tinyint | Scala massima del tipo se numerica. In caso contrario 0. |
collation_name |
sysname | Nome delle regole di confronto del tipo se è basato su caratteri; altro saggio, NULL . |
is_nullable |
bit | Il tipo ammette valori Null. |
is_user_defined |
bit | 1 = Tipo definito dall'utente.0 = Tipo di dati di sistema di SQL Server. |
is_assembly_type |
bit | 1 = L'implementazione del tipo è definita in un assembly CLR.0 = Il tipo è basato su un tipo di dati di sistema di SQL Server. |
default_object_id |
int | ID dell'impostazione predefinita autonoma associata al tipo tramite sp_bindefault.0 = Nessun valore predefinito. |
rule_object_id |
int | ID della regola autonoma associata al tipo tramite sp_bindrule.0 = Nessuna regola esiste. |
is_table_type |
bit | Indica che il tipo è una tabella. |
Autorizzazioni
La visibilità dei metadati nelle viste del catalogo è limitata alle entità a protezione diretta di cui l'utente è proprietario o per le quali dispone di autorizzazioni. Per altre informazioni, vedere Metadata Visibility Configuration.
Esempi di utilizzo
Ottenere i dettagli della colonna per una tabella
Per ottenere i metadati per le colonne in una tabella, è possibile usare il codice seguente:
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');