sp_datatype_info (Transact-SQL)
Retorna informações sobre os tipos de dados para os quais o ambiente atual oferece suporte.
Sintaxe
sp_datatype_info [ [ @data_type = ] data_type ]
[ , [ @ODBCVer = ] odbc_version ]
Argumentos
[ @data_type= ] data_type
É o número de código do tipo de dados especificado. Para obter uma lista de todos os tipos de dados, omita este parâmetro. data_type é int, com um padrão de 0.[ @ODBCVer= ] odbc_version
É a versão do ODBC usada. odbc_version é tinyint, com um padrão de 2.
Valores de código de retorno
Nenhum
Conjuntos de resultados
Nome da coluna |
Tipo de dados |
Descrição |
---|---|---|
TYPE_NAME |
sysname |
Tipo de dados dependente do DBMS. |
DATA_TYPE |
smallint |
Código do tipo ODBC para o qual são mapeadas todas as colunas deste tipo. |
PRECISION |
int |
Precisão máxima do tipo de dados na fonte de dados. NULL é retornado para os tipos de dados para os quais a precisão não é aplicável. O valor de retorno da coluna PRECISION está na base 10. |
LITERAL_PREFIX |
varchar(32) |
Caractere ou caracteres usados antes de uma constante. Por exemplo, uma aspa simples (') para tipos de caractere e 0x para binário. |
LITERAL_SUFFIX |
varchar(32) |
Caractere ou caracteres usados para terminar uma constante. Por exemplo, uma aspa simples (') para tipos de caractere e nenhuma aspa para binário. |
CREATE_PARAMS |
varchar(32) |
Descrição dos parâmetros de criação para este tipo de dados. Por exemplo, decimal é "precision, scale", float é NULL e varchar é "max_length". |
NULLABLE |
smallint |
Especifica possibilidade de nulidade: 1 = Permite valores nulos. 0 = Não permite valores nulos. |
CASE_SENSITIVE |
smallint |
Especifica diferenciação de maiúsculas e minúsculas. 1 = Todas as colunas deste tipo fazem diferenciação de maiúsculas e minúsculas (para agrupamentos). 0 = Todas as colunas deste tipo não fazem distinção entre maiúsculas e minúsculas. |
SEARCHABLE |
smallint |
Especifica o recurso de pesquisa do tipo de coluna: 1 = Não pode ser pesquisado. 2 = Pesquisável com LIKE. 3 = Pesquisável com WHERE. 4 = Pesquisável com WHERE ou LIKE. |
UNSIGNED_ATTRIBUTE |
smallint |
Especifica o sinal do tipo de dados. 1 = Tipo de dados não assinado. 0 = Tipo de dados assinado. |
MONEY |
smallint |
Especifica o tipo de dados money. 1 = Tipo de dados money. 0 = Não é um tipo de dados money. |
AUTO_INCREMENT |
smallint |
Especifica incremento automático. 1 = Incremento automático. 0 = Não tem incremento automático. NULL = Atributo não aplicável. Um aplicativo pode inserir valores em uma coluna que tenha esse atributo, mas o aplicativo não pode atualizar os valores da coluna. Com a exceção do tipo de dados bit, AUTO_INCREMENT é válido somente para os tipos de dados pertencentes às categorias de tipos de dados Numérico Exato e Numérico Aproximado. |
LOCAL_TYPE_NAME |
sysname |
Versão localizada do nome do tipo de dados dependente da fonte de dados. Por exemplo, DECIMAL é DECIMALE em francês. NULL será retornado se a fonte de dados não oferecer suporte a um nome localizado. |
MINIMUM_SCALE |
smallint |
Escala mínima do tipo de dados na fonte de dados. Se um tipo de dados tiver uma escala fixa, as colunas MINIMUM_SCALE e MAXIMUM_SCALE conterão esse valor. NULL será retornado onde escala não for aplicável. |
MAXIMUM_SCALE |
smallint |
Escala máxima do tipo de dados na fonte de dados. Se a escala máxima não estiver definida separadamente na fonte de dados, mas em vez disso estiver definida como sendo a mesma que a precisão máxima, esta coluna conterá o mesmo valor que a coluna PRECISION. |
SQL_DATA_TYPE |
smallint |
Valor do tipo de dados SQL como ele aparece no campo TYPE do descritor. Esta coluna é igual à coluna DATA_TYPE, com exceção dos tipos de dados datetime e interval ANSI. Este campo sempre retorna um valor. |
SQL_DATETIME_SUB |
smallint |
O subcódigo datetime ou interval ANSI, se o valor de SQL_DATA_TYPE for SQL_DATETIME ou SQL_INTERVAL. Para tipos de dados diferentes de datetime e interval ANSI, este campo é NULL. |
NUM_PREC_RADIX |
int |
Número de bits ou dígitos para calcular o número máximo que uma coluna pode conter. Se o tipo de dados for numérico aproximado, esta coluna conterá o valor 2 para indicar vários bits. Para tipos numéricos exatos, esta coluna contém o valor 10 para indicar vários dígitos decimais. Caso contrário, esta coluna será NULL. Ao combinar a precisão com a base, o aplicativo pode calcular o número máximo que a coluna pode conter. |
INTERVAL_PRECISION |
smallint |
Valor da precisão principal do intervalo, se data_type for interval; caso contrário será NULL. |
USERTYPE |
smallint |
Valor usertype da tabela systypes. |
Comentários
sp_datatype_info é equivalente a SQLGetTypeInfo no ODBC. Os resultados retornados são ordenados por DATA_TYPE e depois pela proximidade com que o tipo de dados é mapeado ao tipo de dados ODBC SQL correspondente.
Permissões
Requer associação na função pública.
Exemplos
O exemplo a seguir recupera informações para os tipos de dados sysname e nvarchar especificando o valor data_type igual a -9.
USE master;
GO
EXEC sp_datatype_info -9;
GO