Freigeben über


TYPE_NAME (Transact-SQL)

Aktualisiert: 17. Juli 2006

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 2005 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 AdventureWorks-Datenbank zurückgegeben.

USE AdventureWorks;
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    CreditRating             tinyint
Vendor    ModifiedDate             datetime
Vendor    Name                     Name
Vendor    PreferredVendorStatus    Flag
Vendor    PurchasingWebServiceURL  nvarchar
Vendor    VendorID                 int
(8 row(s) affected)

Siehe auch

Verweis

TYPE_ID (Transact-SQL)
TYPEPROPERTY (Transact-SQL)
sys.types (Transact-SQL)
Metadatenfunktionen (Transact-SQL)

Hilfe und Informationen

Informationsquellen für SQL Server 2005

Änderungsverlauf

Version Verlauf

17. Juli 2006

Neuer Inhalt:
  • Der Abschnitt "Ausnahmen" wurde hinzugefügt.