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 pública .
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