TYPE_ID (Transact-SQL)
Applies to: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)
Returns the ID for a specified data type name.
Transact-SQL syntax conventions
Syntax
TYPE_ID ( [ schema_name ] type_name )
Arguments
type_name
Is the name of the data type. type_name is of type nvarchar. type_name can be a system or user-defined data type.
Return Types
int
Exceptions
Returns NULL on error or if a caller does not have permission to view the object.
In SQL Server, a user can only view the metadata of securables that the user owns or on which the user has been granted permission. This means that metadata-emitting, built-in functions such as TYPE_ID may return NULL if the user does not have any permission on the object. For more information, see Metadata Visibility Configuration.
Remarks
TYPE_ID returns NULL if the type name is not valid, or if the caller does not have sufficient permission to reference the type.
Examples
A. Looking up the TYPE ID values for single- and two-part type names
The following example returns type ID for single- and two-part type names.
USE tempdb;
GO
CREATE TYPE NewType FROM int;
GO
CREATE SCHEMA NewSchema;
GO
CREATE TYPE NewSchema.NewType FROM int;
GO
SELECT TYPE_ID('NewType') AS [1 Part Data Type ID],
TYPE_ID('NewSchema.NewType') AS [2 Part Data Type ID];
GO
B. Looking up the TYPE ID of a system data type
The following example returns the TYPE ID
for the datetime
system data type.
SELECT TYPE_NAME(TYPE_ID('datetime')) AS [TYPE_NAME]
,TYPE_ID('datetime') AS [TYPE_ID];
GO
Examples: Azure Synapse Analytics and Analytics Platform System (PDW)
C: Looking up the TYPE ID of a system data type
The following example returns the TYPE ID
for the datetime
system data type.
SELECT TYPE_NAME(TYPE_ID('datetime')) AS typeName,
TYPE_ID('datetime') AS typeID FROM table1;
See Also
TYPE_NAME (Transact-SQL)
TYPEPROPERTY (Transact-SQL)
sys.types (Transact-SQL)
Metadata Functions (Transact-SQL)