Partilhar via


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 = ] ODBCVer ]
[ ; ]

Argumentos

@data_type [ = ] data_type

O número de código para o tipo de dados especificado. @data_type é int, com um padrão de 0. Para obter uma lista de todos os tipos de dados, omita este parâmetro.

@ODBCVer [ = ] ODBCVer

A versão do ODBC usada. @ODBCVer é tinyint, com um padrão de 2.

Valores do código de retorno

Nenhum.

Conjunto 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 tipos de dados para os quais a precisão não é aplicável. O valor retornado para a PRECISION coluna está na base 10.
LITERAL_PREFIX varchar(32) Caractere ou caracteres usados antes de uma constante. Por exemplo, aspas simples (') para tipos de caracteres e 0x para binário.
LITERAL_SUFFIX varchar(32) Caractere ou caracteres usados para terminar uma constante. Por exemplo, aspas simples (') para tipos de caracteres e sem aspas 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 desse tipo diferenciam maiúsculas de minúsculas (para agrupamentos).
0 = Todas as colunas desse tipo não diferenciam maiúsculas de 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 de dinheiro .
0 = Não é um tipo de dados de dinheiro .
AUTO_INCREMENT smallint Especifica incremento automático.

1 = Incremento automático.
0 = Não é autoincremental.
NULL = Atributo não aplicável.
Um aplicativo pode inserir valores em uma coluna que seja esse atributo, mas o aplicativo não pode atualizar os valores na coluna. Exceto para o tipo de dados bit , AUTO_INCREMENT é válido apenas para tipos de dados que pertencem às categorias de 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 está DECIMALE em francês. NULL será retornado se um nome localizado não for compatível com a fonte de dados.
MINIMUM_SCALE smallint Escala mínima do tipo de dados na fonte de dados. Se um tipo de dados tiver uma escala fixa, as MINIMUM_SCALE colunas e MAXIMUM_SCALE conterão esse valor. NULL é retornado onde a escala não é aplicável.
MAXIMUM_SCALE smallint Escala máxima do tipo de dados na fonte de dados. Se a escala máxima não for definida separadamente na fonte de dados, mas for definida como a mesma que a precisão máxima, essa coluna conterá o mesmo valor que a PRECISION coluna.
SQL_DATA_TYPE smallint Valor do tipo de dados SQL conforme ele aparece no TYPE campo do descritor. Essa coluna é igual à DATA_TYPE coluna, exceto para os tipos de dados datetime e intervalo ANSI. Esse campo sempre retorna um valor.
SQL_DATETIME_SUB smallint datetime ou 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, essa 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 usertype da systypes tabela.

Comentários

sp_datatype_info é equivalente a SQLGetTypeInfo em ODBC. Os resultados retornados são ordenados por DATA_TYPE e, em seguida, pela proximidade com que o tipo de dados é mapeado para o tipo de dados SQL ODBC 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