TYPEPROPERTY (Transact-SQL)
Возвращает сведения о типе данных.
Синтаксис
TYPEPROPERTY (type , property)
Аргументы
type
Имя типа данных.property
Тип возвращаемых сведений. Аргумент property может иметь одно из следующих значений.Свойство
Описание
Возвращенное значение
AllowsNull
Тип данных допускает значения NULL.
1 = True
0 = False
NULL = Не удалось найти тип данных.
OwnerId
Владелец типа.
ПримечаниеВладелец схемы может не быть владельцем типа.Не равен NULL = Идентификатор пользователя базы данных владельца типа.
NULL = Неподдерживаемый тип или идентификатор типа недопустим.
Precision
Точность типа данных.
Число цифр или символов.
-1 = тип данных xml или тип данных больших значений
NULL = Не удалось найти тип данных.
Scale
Масштаб типа данных.
Число символов после запятой для типа данных.
NULL = Тип данных не numeric, или не удалось найти тип данных.
UsesAnsiTrim
При создании типа данных параметр дополнения символами ANSI был установлен в состояние ON.
1 = True
0 = False
NULL = Тип данных не обнаружен или не принадлежит к двоичному или строковому типу данных.
Типы возвращаемых данных
int
Исключения
Возвращает значение NULL в случае ошибки или если участник не имеет разрешения на просмотр объекта.
В SQL Server пользователь может просматривать только метаданные защищаемых объектов, которыми он владеет или на которые ему были предоставлены разрешения. Это означает, что встроенные функции, создающие метаданные, такие как TYPEPROPERTY, могут вернуть значение NULL в случае, если пользователь не имеет разрешений на объект. Дополнительные сведения см. в разделах Настройка видимости метаданных и Устранение неполадок, связанных с видимостью метаданных.
Примеры
А. Определение владельца типа данных
Следующий пример возвращает владельца типа данных.
SELECT TYPEPROPERTY(SCHEMA_NAME(schema_id) + '.' + name, 'OwnerId') AS owner_id, name, system_type_id, user_type_id, schema_id
FROM sys.types;
Б. Получение точности типа данных tinyint
В следующем примере возвращается точность или число цифр для типа данных tinyint.
SELECT TYPEPROPERTY( 'tinyint', 'PRECISION');