Compartilhar via


Precedência de tipo de dados (Transact-SQL)

Aplica-se a: SQL Server Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure Azure Synapse Analytics Analytics Platform System (PDW) Ponto de extremidade de análise de SQL no Microsoft Fabric Warehouse no Microsoft Fabric Banco de Dados SQL no Microsoft Fabric

Quando um operador combinar duas expressões com tipos de dados diferentes, o tipo de dados com a precedência mais baixa será convertido no tipo de dados de maior precedência. Se a conversão não for uma conversão implícita com suporte, será retornado um erro. Para um operador combinando expressões de operando que tem o mesmo tipo de dados, o resultado da operação terá esse tipo de dados.

O SQL Server usa a seguinte ordem de precedência para tipos de dados:

  1. UDT (tipos de dados definidos pelo usuário) (maior)
  2. json
  3. sql_variant
  4. xml
  5. datetimeoffset
  6. datetime2
  7. datetime
  8. smalldatetime
  9. date
  10. time
  11. float
  12. real
  13. decimal
  14. money
  15. smallmoney
  16. bigint
  17. int
  18. smallint
  19. tinyint
  20. bit
  21. ntext
  22. text
  23. imagem
  24. timestamp
  25. uniqueidentifier
  26. nvarchar, incluindo nvarchar(max)
  27. nchar
  28. varchar, incluindo varchar(max)
  29. char
  30. varbinary, incluindo varbinary(max)
  31. binary (mais baixo)