Udostępnij za pomocą


TYPE_NAME (Transact-SQL)

Dotyczy:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)SQL Database w Microsoft Fabric

Zwraca niezastrzeżoną nazwę typu określonego ID typu.

Transact-SQL konwencje składni

Składnia

TYPE_NAME ( type_id )   

Arguments

type_id
To ID typu, który będzie używany. type_id jest int i może odnosić się do typu w dowolnym schemacie, do którego wywołujący ma uprawnienia do dostępu.

Typy zwracane

sysname

Exceptions

Zwraca wartość NULL w przypadku błędu lub jeśli obiekt wywołujący nie ma uprawnień do wyświetlania obiektu.

W programie SQL Server użytkownik może wyświetlać tylko metadane zabezpieczanych, które użytkownik jest właścicielem lub którym udzielono użytkownikowi uprawnień. Oznacza to, że wbudowane funkcje emitujące metadane, takie jak TYPE_NAME, mogą zwracać NULL, jeśli użytkownik nie ma żadnych uprawnień do obiektu. Aby uzyskać więcej informacji, zobacz Konfiguracja widoczności metadanych.

Uwagi

TYPE_NAME zwraca NULL, gdy type_id nie jest ważny lub gdy wywołujący nie ma wystarczających uprawnień do odwołania się do typu.

TYPE_NAME działa dla typów danych systemowych oraz dla typów danych definiowanych przez użytkownika. Typ może być zawarty w dowolnym schemacie, ale zawsze zwracana jest niekwalifikowana nazwa typu. Oznacza to, że nazwa nie posiada przedrostka schema.

Funkcje systemowe mogą być używane na liście wyboru, w klauzuli WHERE i w dowolnym miejscu, w którym dozwolone jest wyrażenie. Więcej informacji można znaleźć w Expressions (Transact-SQL) oraz WHERE (Transact-SQL).

Przykłady

Poniższy przykład zwraca Vendor nazwę obiektu, nazwę kolumny oraz nazwę typu dla każdej kolumny w tabeli bazy AdventureWorks2025 danych.

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  

Oto zestaw wyników.

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 row(s) affected)

Przykłady: Azure Synapse Analytics and Analytics Platform System (PDW)

Poniższy przykład zwraca dla TYPE ID typu danych o id 1.

SELECT TYPE_NAME(36) AS Type36, TYPE_NAME(239) AS Type239;  
GO  

Aby uzyskać listę typów, zapytaj sys.types.

SELECT * FROM sys.types;  
GO  

Zobacz też

TYPE_ID (Transact-SQL)
TYPEPROPERTY (Transact-SQL)
sys.types (Transact-SQL)
Funkcje metadanych (Transact-SQL)