Поделиться через


TYPEPROPERTY (Transact-SQL)

Возвращает сведения о типе данных.

Значок ссылки на разделСинтаксические обозначения в 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');