CONCATENACION DE CAMPOS EN UNA CONSULTA SQL

Eduardo Tricotti
14 de Diciembre del 2007
En Access puedo hacer un select de 2 campos de distintos tipos de la siguiente forma:

SELECT CampoTexto & CampoNum FROM TABLA.
Esto no da un error y el resultado es la concatenacion de ambos campos. Lo mismo funciona bien en ORACLE, lo único es que el carácter de concatenación es || en lugar de &. El problema es que esto no funciona en SQL-SERVER 2005 (o yo no se hacerlo). Si tiro la consulta contra el motor obtengo el mensaje de error: No se puede convertir un valor char a numeric. Esto funciona si previamente aplico al valor numérico un CAST, pero no es la idea, necesito que automáticamente se concatenen los campos como Access u Oracle. Se puede hacer?

Muchas gracias.

mvallejos
14 de Diciembre del 2007
En Sql Server se concatena con el signo + y no combina cadenas con números, entonces, para concatenar una cadena con un número se deben usar las funciones de conversión de tipos.

Select CampoTexto + LTrim(Str(CampoNum)) From Tabla

Saludos