Compartir a través de


TYPE_NAME (Transact-SQL)

Devuelve el nombre de tipo no calificado de un Id. de tipo específico.

Icono de vínculo a temasConvenciones de sintaxis de Transact-SQL

Sintaxis

TYPE_NAME ( type_id ) 

Argumentos

  • type_id
    Es el Id. del tipo que se va a utilizar. type_id es de tipo int y puede referirse a un tipo de cualquier esquema al que el autor de la llamada tenga permiso de acceso.

Tipos de valor devueltos

sysname

Excepciones

Devuelve NULL si se produce un error o si el autor de la llamada no tiene permiso para ver el objeto.

En SQL Server, un usuario solo puede ver los metadatos de elementos protegibles que posea o para los que se le haya concedido permiso. Esto significa que las funciones integradas de emisión de metadatos, como TYPE_NAME, pueden devolver NULL si el usuario no tiene ningún permiso para el objeto. Para obtener más información, vea Configuración de visibilidad de los metadatos y Solucionar problemas de visibilidad de los metadatos.

Comentarios

TYPE_NAME devolverá un valor de NULL cuando type_id no sea válido o cuando el autor de la llamada no cuente con los permisos necesarios para hacer referencia al tipo.

TYPE_NAME funciona con tipos de datos de sistema así como con tipos de datos definidos por el usuario. El tipo puede estar contenido en cualquier esquema, pero siempre se devuelve un nombre de tipo no calificado. Esto significa que el nombre no tiene el prefijo schema.

Las funciones del sistema se pueden utilizar en la lista de selección, en la cláusula WHERE y en cualquier lugar donde se permita una expresión. Para obtener más información, vea Expresiones (Transact-SQL) y WHERE (Transact-SQL).

Ejemplos

El ejemplo siguiente devuelve el nombre del objeto, de la columna y del tipo perteneciente a cada columna de la tabla Vendor de la base de datos AdventureWorks2008R2.

USE AdventureWorks2008R2;
GO
SELECT o.name AS obj_name, c.name AS col_name,
       TYPE_NAME(c.user_type_id) AS type_name
FROM sys.objects AS o 
JOIN sys.columns AS c  ON o.object_id = c.object_id
WHERE o.name = 'Vendor'
ORDER BY col_name;
GO

El conjunto de resultados es el siguiente.

obj_name col_name type_name

--------------- ------------------------ --------------

Vendor AccountNumber AccountNumber

Vendor ActiveFlag Flag

Vendor BusinessEntityID int

Vendor CreditRating tinyint

Vendor ModifiedDate datetime

Vendor Name Name

Vendor PreferredVendorStatus Flag

Vendor PurchasingWebServiceURL nvarchar

(8 filas afectadas)