Concatenar una variable + una cadena

Estoy armando un SP en SQL Server 2005. Para resumir el problema es el siguiente:
DECLARE @Linea1 as nchar(20)
SET @Linea1='Hola ';
SET @Linea1= @Linea1 + 'Mundo';
PRINT @Linea1
Lo que Obtengo al ejecutar esto es"
Hola
No puedo lograr que me cargue la palabra 'Mundo'.

1 respuesta

Respuesta
1
Entiendo por tu segundo comentario ya has encontrado la solución. Por si te quedaron dudas con tu primera opción te comento que los char y nchar son tipos de datos de tamaño fijo. Útiles para guardar información de tamaño invariable.
Varchar y nvarchar se suelen utilizar para guardar información de tamaño variable. La ventaja de estos sobre los varchar y nvarchar es que ocupan menos espacio para datos de tamaño fijo. Los varchar y nvarchar necesitan bytes adicionales para guardar el tamaño de la cadena de texto.
En tu ejemplo la variable al ser nchar(20) tenía un tamaño fijo de 20 caracteres ("Hola" + 16 espacios) y al añadir 'mundo' pasaría a tener 25, por eso te imprime sólo Hola. No lo he probado, pero seguramente te funcionaría añadiendo un trim:
DECLARE @Linea1 as nchar(20)
SET @Linea1='Hola '; 
SET @Linea1= RTRIM(@Linea1) + ' Mundo'; 
PRINT @Linea1

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas