sys.types (Transact-SQL)
Se aplica a: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW) Punto de conexión de análisis SQL en Microsoft Fabric Almacenamiento en Microsoft Fabric
Contiene una fila por cada tipo del sistema y definido por el usuario.
Nombre de la columna | Tipo de datos | Descripción |
---|---|---|
name |
sysname | Nombre del tipo. Es exclusivo en el esquema. |
system_type_id |
tinyint | Identificador del tipo del sistema interno. |
user_type_id |
int | Id. del tipo. Es único en la base de datos. Los tipos de ensamblados CLR, como hierarchyid, geometry y geography, tendrán un valor diferente system_type_id y se pueden identificar mediante is_assembly_type . El tipo de datos sysname es interno y se basa en nvarchar. |
schema_id |
int | Id. del esquema al que pertenece el tipo. |
principal_id |
int | Id. del propietario individual si es distinto al propietario del esquema. De forma predeterminada, los objetos contenidos en el esquema pertenecen al propietario del esquema. No obstante, es posible especificar un propietario alternativo mediante la instrucción ALTER AUTHORIZATION para cambiar la propiedad.NULL si no hay ningún propietario individual alternativo. |
max_length |
smallint | Longitud máxima del tipo, en bytes. - 1 = El tipo de datos de columna es varchar(max), nvarchar(max), varbinary(max)o xml.Para las columnas de texto , el max_length valor será 16. |
precision |
tinyint | Precisión máxima del tipo si está basado en numerales; de lo contrario, es 0. |
scale |
tinyint | Escala máxima del tipo si está basado en numerales; de lo contrario, es 0. |
collation_name |
sysname | Nombre de la intercalación del tipo si está basado en caracteres; otros sabios, NULL . |
is_nullable |
bit | El tipo admite valores NULL. |
is_user_defined |
bit | 1 = Tipo definido por el usuario.0 = Tipo de datos del sistema de SQL Server. |
is_assembly_type |
bit | 1 = La implementación del tipo se define en un ensamblado CLR.0 = El tipo se basa en un tipo de datos del sistema de SQL Server. |
default_object_id |
int | Identificador del valor predeterminado independiente que está enlazado al tipo mediante sp_bindefault.0 = No existe ningún valor predeterminado. |
rule_object_id |
int | Identificador de la regla independiente que está enlazada al tipo mediante sp_bindrule.0 = No existe ninguna regla. |
is_table_type |
bit | Indica que el tipo es una tabla. |
Permisos
La visibilidad de los metadatos en las vistas de catálogo se limita a los elementos protegibles y que son propiedad de un usuario o sobre los que el usuario ha recibido algún permiso. Para obtener más información, consulte Metadata Visibility Configuration.
Ejemplos de uso
Obtención de detalles de columna para una tabla
Para obtener metadatos para las columnas de una tabla, puede usar el código siguiente:
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');