Precedenza dei tipi di dati (Transact-SQL)
Quando due espressioni di tipi di dati diversi vengono combinate da un operatore, le regole per la precedenza dei tipi di dati specificano che i tipi con precedenza inferiore vengano convertiti nei tipi con precedenza superiore. Se la conversione non è una conversione implicita supportata, viene generato un errore. Se a entrambe le espressioni dell'operando è associato lo stesso tipo di dati, quest'ultimo viene assegnato al risultato dell'operazione.
Per i tipi di dati SQL Server utilizza l'ordine di precedenza seguente:
Tipi di dati definiti dall'utente (superiore)
sql_variant
xml
datetimeoffset
datetime2
datetime
smalldatetime
date
time
float
real
decimal
money
smallmoney
bigint
int
smallint
tinyint
bit
ntext
text
image
timestamp
uniqueidentifier
nvarchar (incluso nvarchar(max) )
nchar
varchar (incluso varchar(max) )
char
varbinary (incluso varbinary(max) )
binary (inferiore)