Cuando trabajamos
concatenando
distintos
tipos de datos,
SQL SERVER maneja una
tabla
ordenada por prioridades,
donde
si la combinación lo permite de manera implícita se convertirán los
datos
del tipo de
menor
prioridad al de
mayor
prioridad.
Que una conversión esté de manera implícita permitida o no se basa en que los
tipos de datos
sean del mismo grupo como por ejmplo todos CADENA DE TEXTO o todos NÚMEROS, las combinaciones entonces de
datos
en SQL darán como resultado valores que tomarán sus características según las reglas de precedencia que se muestran en la siguiente
tabla
de prioridades:
la más alta prioridad | ||
1 | datos definidos por el usuario | |
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 | bits | |
20 | ntext | |
21 | text | |
22 | image | |
23 | timestamp | |
24 | uniqueidentifier | |
25 | nvarchar | |
26 | nchar | |
27 | varchar | |
28 | char | |
29 | varbinary | |
30 | binary | |
la más baja prioridad |