Precedenza dei tipi di dati (Transact-SQL)

Si applica a:SQL Server database SQL di Azure Istanza gestita di SQL di Azure Azure Synapse Analytics AnalyticsPlatform System (PDW)SQL analytics endpoint in Microsoft FabricWarehouse in Microsoft Fabric

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.

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

  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. Immagine
  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)

Vedi anche

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