Freigeben über


TYPE_NAME (Transact-SQL)

Gibt den nicht qualifizierten Typnamen einer angegebenen Typ-ID zurück.

Themenlink (Symbol)Transact-SQL-Syntaxkonventionen

Syntax

TYPE_NAME ( type_id ) 

Argumente

  • type_id
    Die ID des Typs, der verwendet wird. type_id ist vom Datentyp int und kann auf einen Typ in jedem beliebigen Schema verweisen, für das der Aufrufer über eine Zugriffsberechtigung verfügt.

Rückgabetypen

sysname

Ausnahmen

Gibt NULL bei einem Fehler zurück oder wenn ein Aufrufer nicht über Berechtigungen zum Anzeigen des Objekts verfügt.

In SQL Server kann ein Benutzer nur die Metadaten sicherungsfähiger Elemente anzeigen, bei denen der Benutzer entweder der Besitzer ist oder für die dem Benutzer eine Berechtigung erteilt wurde. Dies bedeutet, dass Metadaten ausgebende integrierte Funktionen, z. B. TYPE_NAME, möglicherweise NULL zurückgeben, wenn dem Benutzer für das Objekt keine Berechtigung erteilt wurde. Weitere Informationen finden Sie unter Konfigurieren der Sichtbarkeit von Metadaten und unter Behandlung von Problemen bei der Sichtbarkeit von Metadaten.

Hinweise

TYPE_NAME gibt NULL zurück, wenn type_id ungültig ist oder wenn der Aufrufer nicht über die erforderlichen Berechtigungen zum Verweisen auf den Typ verfügt.

TYPE_NAME funktioniert sowohl für Systemdatentypen als auch für benutzerdefinierte Datentypen. Der Typ kann in einem beliebigen Schema enthalten sein, aber ein nicht qualifizierter Typname wird immer zurückgegeben. Dies bedeutet, dass der Name nicht das schema**.**-Präfix enthält.

Systemfunktionen können in der SELECT-Liste, in einer WHERE-Klausel und überall dort verwendet werden, wo ein Ausdruck zulässig ist. Weitere Informationen finden Sie unter Ausdrücke (Transact-SQL) und WHERE (Transact-SQL).

Beispiele

Im folgenden Beispiel werden der Objektname, der Spaltenname und der Typname für jede Spalte in der Vendor-Tabelle der AdventureWorks2008R2-Datenbank zurückgegeben.

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

Dies ist das Resultset.

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 Zeile(n) betroffen)