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)