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:
tipos de datos definidos por el usuario (el más alto)
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 (incluyendo nvarchar(max) )
nchar
varchar (incluyendo varchar(max) )
char
varbinary (incluyendo varbinary(max) )
binary (el más bajo)