Generalidades
Cuano queremos CONCATENAR dos o más valores de distintos
campos,
debemos hacerlo con el signo + para el caso de SQL SERVER que nos toca estudiar, y para combinar estos
datos
o valores la sintaxis es la siguiente:
SELECT nombre + ' ' + apellido as [nombre_completo] FROM [alumnos] |
Como verán en este ejemplo se busca combinar el campo nombre junto al campo apellido, en un solo resultado de salida bajo el nombre "nombre_completo", colocando a su vez en medio un espacio, de esta forma podemos combinar la cantidad de cadenas de
datos
que querramos, siempre y siempre se respetarán las
prioridades
según el tipo de
datos
que estemos concatenando.
Es cierto que si se quiere combinar dos expresiones de distintos
tipos de datos,
por ejemplo en el caso anterior si suponemos que el nombre es del tipo VARCHAR, y el apellido fuera del tipo CHAR, el motor de base de
datos
resolverá intrínsecamente según la prioridad del tipo de
datos
que veremos en otro artículo, pero les contamos que VARCHAR cuenta con una de las
prioridades
más bajas en el puesto 27, pero a su vez CHAR es un puesto más bajo en la posición 28, por lo tanto SQL SERVER convertirá el dato CHAR a VARCHAR interpretando esta
tabla
de prioridades.
Ver
tabla
de
prioridades de tipo
de datos.
Si quisiera concatenar
campos
con distintos
tipos de datos
donde
se puedan convertir implícitamente según las
prioridades
mencionadas no hay problema, sería el caso que hablamos de VARCHAR a CHAR, o sea siempre dentro de
datos
de tipo STRING, ahora bien, si deseamos concatenar un dato de tipo STRING con otro del tipo INTEGER por ejemplo, nos vamos a arrojar un ERROR, ya que es una conversión implícita permitida.
Para esto ahora vamos a necesitar convertir uno de los
datos
al tipo del otro, y la única dirección posible es convertir el campo numérico, en este caso supondremos la "edad", al de texto, con lo cual quedaría la sintaxis así:
SELECT nombre + ' ' + apellido + ' ' + CONVERT(char, edad) as [nombre_completo_edad] FROM [alumnos] |