Precedenza dei tipi di dati (Transact-SQL)

Si applica a: SQL Server (tutte le versioni supportate) Azure SQL Database Istanza gestita di SQL di Azure Azure Synapse Analytics Analytics Platform System (PDW)

Quando un operatore combina espressioni di tipi di dati diversi, il tipo di dati con precedenza inferiore viene per prima cosa convertito nel tipo di dati con precedenza superiore. Se la conversione non è una conversione implicita supportata, viene generato un errore. Se le espressioni dell'operando combinate dall'operatore hanno lo stesso tipo di dati, questo sarà il tipo di dati del risultato dell'operazione.

SQL Server usa l'ordine di precedenza seguente per i tipi di dati:

  1. Tipi di dati definiti dall'utente (superiore)
  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 (incluso nvarchar(max) )
  26. nchar
  27. varchar (incluso varchar(max) )
  28. char
  29. varbinary (incluso varbinary(max) )
  30. binary (inferiore)

Vedere anche

Tipi di dati (Transact-SQL)
Espressioni (Transact-SQL)
CAST e CONVERT (Transact-SQL)