Precedência de tipo de dados (Transact-SQL)Data type precedence (Transact-SQL)

APLICA-SE A: simSQL Server nãoBanco de Dados SQL do Azure nãoSQL Data Warehouse do Azure nãoParallel Data Warehouse APPLIES TO: yesSQL Server noAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

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.When an operator combines expressions of different data types, the data type with the lower precedence is first converted to the data type with the higher precedence. Se a conversão não for uma conversão implícita com suporte, será retornado um erro.If the conversion isn't a supported implicit conversion, an error is returned. 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.For an operator combining operand expressions having the same data type, the result of the operation has that data type.

O SQL ServerSQL Server usa a seguinte ordem de precedência para tipos de dados:SQL ServerSQL Server uses the following precedence order for data types:

  1. UDT (tipos de dados definidos pelo usuário) (maior)user-defined data types (highest)
  2. sql_variantsql_variant
  3. xmlxml
  4. datetimeoffsetdatetimeoffset
  5. datetime2datetime2
  6. datetimedatetime
  7. smalldatetimesmalldatetime
  8. datedate
  9. timetime
  10. floatfloat
  11. realreal
  12. decimaldecimal
  13. moneymoney
  14. smallmoneysmallmoney
  15. bigintbigint
  16. intint
  17. smallintsmallint
  18. tinyinttinyint
  19. bitbit
  20. ntextntext
  21. texttext
  22. imagemimage
  23. timestamptimestamp
  24. uniqueidentifieruniqueidentifier
  25. nvarchar [incluindo nvarchar(max)]nvarchar (including nvarchar(max) )
  26. ncharnchar
  27. varchar [incluindo varchar(max)]varchar (including varchar(max) )
  28. charchar
  29. varbinary [incluindo varbinary(max)]varbinary (including varbinary(max) )
  30. binary (mais baixo)binary (lowest)

Confira tambémSee also

Tipos de dados (Transact-SQL)Data Types (Transact-SQL)
Expressões (Transact-SQL)Expressions (Transact-SQL)
CAST e CONVERT (Transact-SQL)CAST and CONVERT (Transact-SQL)