Partilhar via


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

Aplica-se a:SQL ServerBase de Dados SQL do AzureInstância Gerida do Azure SQLAzure Synapse AnalyticsSistema de Plataforma de Análise (PDW)Ponto de Extremidade de Análise SQL no Microsoft FabricArmazém no Microsoft FabricBase de Dados SQL no Microsoft Fabric

Quando um operador combina expressões de diferentes tipos de dados, o tipo de dados com a precedência inferior é primeiro convertido para o tipo de dados com a precedência superior. Se a conversão não for uma conversão implícita suportada, um erro será retornado. Para um operador que combina expressões de operando com o mesmo tipo de dados, o resultado da operação tem esse tipo de dados.

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

  1. Tipos de dados definidos pelo usuário (mais altos)
  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. image
  24. timestamp
  25. uniqueidentifier
  26. nvarchar, incluindo nvarchar(max)
  27. nchar
  28. varchar, incluindo varchar(max)
  29. char
  30. varbinary, incluindo varbinary(max)
  31. Binário (mais baixo)