sp_datatype_info (Transact-SQL)

Возвращает сведения о типах данных, поддерживаемых текущей средой.

Значок ссылки на разделСоглашения о синтаксисе в Transact-SQL

Синтаксис

sp_datatype_info [ [ @data_type = ] data_type ] 
     [ , [ @ODBCVer = ] odbc_version ] 

Аргументы

  • [ @data_type= ] data_type
    Кодовый номер типа данных. Для получения списка всех типов данных опустите этот аргумент. Аргумент data_type имеет тип int и значение по умолчанию 0.
  • [ @ODBCVer= ] odbc_version
    Версия используемого протокола ODBC. Аргумент odbc_version имеет тип tinyint и значение по умолчанию 2.

Значения кодов возврата

Нет.

Результирующие наборы

Имя столбца Тип данных Описание

TYPE_NAME

sysname

Тип данных, зависящий от СУБД.

DATA_TYPE

smallint

Код типа ODBC, с которым сопоставляются все столбцы данного типа.

PRECISION

int

Максимальная точность типа данных в источнике данных. Для типов данных, к которым понятие точности не применимо, возвращается значение NULL. Значения, возвращаемые в столбце PRECISION, представляются в десятичной системе счисления.

LITERAL_PREFIX

varchar(32)

Символ или символы, используемые перед константой. Например, в SQL Server 2005 значения символьных типов заключаются в одинарные кавычки ('), а двоичные значения помечаются символом «0x».

LITERAL_SUFFIX

varchar(32)

Символ или символы, используемые после константы. Например, после значений символьных типов указывается одинарная кавычка ('), а после двоичных значений не указывается ничего.

CREATE_PARAMS

varchar(32)

Описание параметров создания типа данных. Например, типу decimal соответствует описание «precision, scale», типу float — NULL, а типу varchar — «max_length».

NULLABLE

smallint

Указывает возможность содержать значение NULL.

1 = значения NULL допускаются.

0 = значения NULL не допускаются.

CASE_SENSITIVE

smallint

Чувствительность к регистру.

1 = все столбцы этого типа чувствительны к регистру (для параметров сортировки).

0 = все столбцы этого типа не чувствительны к регистру.

SEARCHABLE

smallint

Тип столбца.

1 = столбцы этого типа могут быть использованы в предложении WHERE.

0 = столбцы этого типа не могут быть использованы в предложении WHERE.

UNSIGNED_ATTRIBUTE

smallint

Знак типа данных.

1 = тип данных без знака.

0 = тип данных со знаком.

MONEY

smallint

Определяет тип данных money.

1 = тип данных money.

0 = тип данных, отличный от money.

AUTO_INCREMENT

smallint

Автоматическое приращение.

1 = автоматическое приращение выполняется.

0 = автоматическое приращение не выполняется.

NULL = атрибут неприменим.

Приложение может вставлять значение в столбец с этим атрибутом, но не может обновлять значения такого столбца. За исключением типа данных bit, параметр AUTO_INCREMENT допустим только для типов, принадлежащих к категориям Exact Numeric и Approximate Numeric.

LOCAL_TYPE_NAME

sysname

Локализованная версия имени типа данных, которое зависит от источника данных. Например, тип DECIMAL называется по-французски DECIMALE. Если локализованное имя не поддерживается источником данных, возвращается значение NULL.

MINIMUM_SCALE

smallint

Минимальный масштаб типа данных в источнике данных. Если тип данных имеет фиксированный масштаб, это значение содержится и в столбце MINIMUM_SCALE, и в столбце MAXIMUM_SCALE. Для типов данных, к которым понятие масштаба не применимо, возвращается значение NULL.

MAXIMUM_SCALE

smallint

Максимальный масштаб типа данных в источнике данных. Если максимальный масштаб не определен отдельно в источнике данных и равен максимальной точности, этот столбец содержит то же значение, что и столбец PRECISION.

SQL_DATA_TYPE

smallint

Значение типа данных SQL, как оно выглядит в поле TYPE дескриптора. Этот столбец эквивалентен столбцу DATA_TYPE; исключения — типы данных datetime и ANSI interval. Это поле всегда возвращает значение.

SQL_DATETIME_SUB

smallint

Добавочный код типа данных datetime или ANSI interval, если поле SQL_DATA_TYPE имеет значение SQL_DATETIME или SQL_INTERVAL. В случае типов данных, отличных от datetime и ANSI interval, это поле имеет значение NULL.

NUM_PREC_RADIX

int

Количество битов или разрядов, используемое при вычислении максимального числа, которое может содержаться в столбце. Если тип данных является приблизительным числовым типом, этот столбец содержит значение 2, которое говорит о том, что тип включает несколько битов. Если тип данных является точным числовым типом, этот столбец содержит значение 10, которое говорит о том, что тип включает несколько десятичных разрядов. В противном случае этот столбец содержит значение NULL. Объединив точность с основанием системы счисления, приложение может определить максимальное число, которое может содержаться в столбце.

INTERVAL_PRECISION

smallint

Значение главного параметра точности интервала, если data_type является interval; в противном случае — NULL.

USERTYPE

smallint

Значение usertype из таблицы systypes.

Замечания

Хранимая процедура sp_datatype_info эквивалентна ODBC-функции SQLGetTypeInfo. Возвращаемые этой процедурой результаты упорядочиваются по значению DATA_TYPE, а затем по степени соответствия типа данных аналогичному типу данных ODBC SQL.

Разрешения

Необходимо быть членом роли public.

Примеры

В следующем примере возвращаются сведения о типах данных sysname и nvarchar, для чего значение data_type устанавливается в -9.

USE master;
GO
EXEC sp_datatype_info -9;
GO

См. также

Справочник

Хранимые процедуры ядра СУБД (Transact-SQL)
Типы данных (Transact-SQL)
Системные хранимые процедуры (Transact-SQL)

Справка и поддержка

Получение помощи по SQL Server 2005