Prioridad de tipo de datos (Transact-SQL)

Cuando un operador combina dos expresiones de tipos de datos distintos, las reglas de prioridad de tipo de datos especifican que el tipo de datos con la prioridad más baja se convierta al tipo de datos con la prioridad más alta. Si la conversión no es una conversión implícita admitida, se devuelve un error. Cuando ambas expresiones de operandos tienen el mismo tipo de datos, el resultado de la operación tiene ese tipo de datos.

SQL Server utiliza el siguiente orden de prioridad para los tipos de datos:

  1. tipos de datos definidos por el usuario (el más alto)

  2. sql_variant

  3. xml

  4. datetimeoffset

  5. datetime2

  6. datetime

  7. smalldatetime

  8. date

  9. time

  10. float

  11. real

  12. decimal

  13. money

  14. smallmoney

  15. bigint

  16. int

  17. smallint

  18. tinyint

  19. bit

  20. ntext

  21. text

  22. image

  23. timestamp

  24. uniqueidentifier

  25. nvarchar (incluyendo nvarchar(max) )

  26. nchar

  27. varchar (incluyendo varchar(max) )

  28. char

  29. varbinary (incluyendo varbinary(max) )

  30. binary (el más bajo)