Priorités des types de données (Transact-SQL)

Lorsqu'un opérateur combine deux expressions de type de données différents, les règles de priorité des types de données spécifient que le type ayant la priorité plus faible est converti dans le type ayant la priorité plus élevée. Si la conversion n'est pas prise en charge en tant que conversion implicite, une erreur est renvoyée. Lorsque deux opérandes ont le même type de données, le résultat de l'opération a également ce type de données.

SQL Server utilise l'ordre de priorité suivant pour les types de données :

  1. types de données définis par l'utilisateur (plus haut niveau de priorité)

  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 (y compris nvarchar(max))

  26. nchar

  27. varchar (y compris varchar(max))

  28. char

  29. varbinary (y compris varbinary(max))

  30. binary (plus bas niveau de priorité)