sp_datatype_info (Transact-SQL)

Retorna informações sobre os tipos de dados para os quais o ambiente atual oferece suporte.

Ícone de vínculo de tópicoConvenções de sintaxe Transact-SQL

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