CONCATENAR: campo1 + campo2



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]
 
 



Búsquedas más frecuentes
Diseño y DesarrolloDiseño y desarrollo de sitios web