sys.types (Transact-SQL)
Область применения: SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure конечной точке аналитики платформы Аналитики Azure Synapse Analytics (PDW) в Microsoft Fabric Хранилище в Microsoft Fabric
Содержит по строке для каждого системного и определяемого пользователем типа данных.
Имя столбца | Тип данных | Description |
---|---|---|
name |
sysname | Имя типа данных. Уникально в пределах схемы. |
system_type_id |
tinyint | Идентификатор внутреннего типа системы. |
user_type_id |
int | Идентификатор типа данных. Уникален в пределах базы данных. Типы сборок СРЕДЫ CLR, такие как hierarchyid, geometry и geography, имеют другой system_type_id тип и могут быть определены с помощью is_assembly_type . Тип данных sysname — это внутренний тип данных на основе nvarchar. |
schema_id |
int | Идентификатор схемы, к которой принадлежит тип данных. |
principal_id |
int | Идентификатор отдельного владельца, если он отличается от владельца схемы. По умолчанию содержащиеся в схеме объекты принадлежат владельцу схемы. Однако с помощью инструкции ALTER AUTHORIZATION можно изменить право собственности и указать другого владельца.NULL Если альтернативного владельца нет. |
max_length |
smallint | Максимальная длина типа (в байтах): - 1 = тип данных столбца — varchar(max), nvarchar(max), varbinary(max)или xml.Для текстовых столбцов max_length значение равно 16. |
precision |
tinyint | Максимальная точность значений этого типа данных, если он числовой; иначе — значение 0. |
scale |
tinyint | Максимальный масштаб значений этого типа данных, если он числовой; иначе — значение 0. |
collation_name |
sysname | Имя сортировки типа, если оно основано на символах; другие мудрые, NULL . |
is_nullable |
bit | Тип данных допускает значения NULL. |
is_user_defined |
bit | 1 = определяемый пользователем тип.0 = тип системных данных SQL Server. |
is_assembly_type |
bit | 1 = реализация типа определяется в сборке CLR.0 = Тип основан на системном типе данных SQL Server. |
default_object_id |
int | Идентификатор автономного по умолчанию, привязанного к типу с помощью sp_bindefault.0 = нет по умолчанию. |
rule_object_id |
int | Идентификатор автономного правила, привязанного к типу с помощью sp_bindrule.0 = нет правила. |
is_table_type |
bit | Указывает, что тип является табличным. |
Разрешения
Видимость метаданных в представлениях каталога ограничена защищаемыми объектами, которыми владеет пользователь или которым пользователь получил некоторое разрешение. Дополнительные сведения см. в разделе Metadata Visibility Configuration.
Примеры использования
Получение сведений о столбце для таблицы
Чтобы получить метаданные для столбцов в таблице, можно использовать следующий код:
CREATE TABLE dbo.[sample] (
id INT NOT NULL
,col1 VARBINARY(10) NULL
)
GO
SELECT c.[name] AS column_name
,t.[name] AS [type_name]
,c.[max_length]
,c.[precision]
,c.[scale]
FROM sys.columns c
INNER JOIN sys.types t ON c.user_type_id = t.user_type_id
WHERE object_id = object_id('dbo.sample');