sp_datatype_info (Transact-SQL)

Aplica-se a: SQL Server Azure Synapse Analytics

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

Convenções de sintaxe de Transact-SQL

Sintaxe

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

Argumentos

[ @data_type = ] data_type É o número do código para o 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 do 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 única aspa (') para tipos de caractere e 0x para binário.
LITERAL_SUFFIX varchar(32) Caractere ou caracteres usados para terminar uma constante. Por exemplo, uma única aspa (') 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 é "precisão, escala", 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 ordenações).

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 exceção do tipo de dados bit , AUTO_INCREMENT é válido apenas para tipos de dados que pertencem às categorias tipo 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 conforme exibido no campo TYPE do descritor. Essa coluna é igual à coluna DATA_TYPE, exceto para os tipos de dadosdatetime e INTERVALO ANSI. Esse campo sempre retorna um valor.
SQL_DATETIME_SUB smallint datetime ou subcodificação de intervalo ANSI se o valor de SQL_DATA_TYPE for SQL_DATETIME ou SQL_INTERVAL. Para tipos de dados diferentes de datetime e intervalo ANSI, esse 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 à esquerda do intervalo se data_type for intervalo; caso contrário, 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 à função public.

Exemplos

O exemplo a seguir recupera informações para os tipos de dados sysname e nvarchar especificando o valor data_type de -9.

USE master;  
GO  
EXEC sp_datatype_info -9;  
GO  

Consulte Também

Procedimentos armazenados do Mecanismo de Banco de Dados (Transact-SQL)
Tipos de dados (Transact-SQL)
Procedimentos armazenados do sistema (Transact-SQL)