TYPEPROPERTY (Transact-SQL)
Retorna informações sobre um tipo de dados.
Sintaxe
TYPEPROPERTY (type , property)
Argumentos
type
É o nome do tipo de dados.property
PE o tipo de informação a ser retornada para o tipo de dados. property pode ser um dos valores a seguir.Propriedade
Descrição
Valor retornado
AllowsNull
Tipo de dados permite valores nulos.
1 = Verdadeiro
0 = Falso
NULL = Tipo de dados não localizado.
OwnerId
Proprietário do tipo.
ObservaçãoO proprietário do esquema não é necessariamente o proprietário do tipo.Nonnull = A ID de usuário de banco de dados do proprietário do tipo.
NULL = Tipo sem suporte ou ID de tipo inválida.
Precision
Precisão para o tipo de dados.
O número de dígitos ou caracteres.
-1 = xml ou tipo de dados de valor grande.
NULL = Tipo de dados não localizado.
Scale
Escala para o tipo de dados.
O número de lugares decimais para o tipo de dados.
NULL = Tipo de dados não é numeric ou não foi localizado.
UsesAnsiTrim
Configuração de preenchimento ANSI era ON quando o tipo de dados foi criado.
1 = Verdadeiro
0 = Falso
NULL = Tipo de dados não localizado ou não é um tipo de dados binário ou de cadeia de caracteres.
Tipos de retorno
int
Exceções
Retorna NULL no caso de erro ou se um chamador não tiver permissão para exibir o objeto.
No SQL Server, um usuário só pode exibir os metadados de itens protegíveis de sua propriedade ou para os quais ele tenha permissão concedida. Isso significa que as funções internas emissoras de metadados, como TYPEPROPERTY, podem retornar NULL se o usuário não tiver nenhuma permissão no objeto. Para obter mais informações, consulte Configuração de visibilidade de metadados e Solucionando problemas de visibilidade de metadados.
Exemplos
A. Identificando o proprietário de um tipo de dados
O exemplo a seguir retorna o proprietário de um tipo de dados.
SELECT TYPEPROPERTY(SCHEMA_NAME(schema_id) + '.' + name, 'OwnerId') AS owner_id, name, system_type_id, user_type_id, schema_id
FROM sys.types;
B. Retornando a precisão do tipo de dados de tinyint
O exemplo a seguir retorna a precisão ou o número de dígitos para o tipo de dados tinyint.
SELECT TYPEPROPERTY( 'tinyint', 'PRECISION');