nVarchar

03/11/2004 - 01:09 por Marco Miramontes | Informe spam
Saludos a todos, agradecerían mucho si alguien me pudiera ayudar a
despejar una duda. Actualmente tengo una tabla de la cual tengo se tienen
varios campos:

código

Descripción

Activo



Y este es el script:

SET @Sql = "SELECT COLR_CODE as Col0, COLR_DESC as Col1, "
SET @Sql = @Sql + " CASE WHEN COLORANT.COLR_ACTIVE = 1 THEN '"+ @AC + "'
ELSE '" + @IN + "' END as Col2, "
SET @Sql = @Sql + " CONVERT(CHAR(1),COLR_ACTIVE) as Col3 "
SET @Sql = @Sql + " FROM COLORANT "



IF @SORT = 0
SELECT @Sql = @Sql + " ORDER BY COLR_CODE "
ELSE
SELECT @Sql = @Sql + " ORDER BY COLR_DESC "



EXEC(@Sql)

El problema es que la variable @AC, @IN y @Sql son del tipo nVarchar,
pero al momento de ejecutar esta sentencia me despliega en la columna Col2
signos de interrogación ya que la variable @AC tiene información en Ruso
"??????", pero si realizo la misma consulta pero sin concatenación si me
muestra los caracteres, Sabes alguien por que esta pasando esto ?...



Gracias
 

Leer las respuestas

#1 Paulino Padial
03/11/2004 - 09:20 | Informe spam
Prueba esto y me dices, porque estoy mirando y he pensado varias cosas.

SET @Sql = "SELECT COLR_CODE as Col0, COLR_DESC as Col1, "
SET @Sql = @Sql + " CASE WHEN COLORANT.COLR_ACTIVE = 1 THEN /*ESTO


ES LO NUEVO*/N'"+ @AC + "'
ELSE '" + @IN + "' END as Col2, "
SET @Sql = @Sql + " CONVERT(CHAR(1),COLR_ACTIVE) as Col3 "
SET @Sql = @Sql + " FROM COLORANT "



IF @SORT = 0
SELECT @Sql = @Sql + " ORDER BY COLR_CODE "
ELSE
SELECT @Sql = @Sql + " ORDER BY COLR_DESC "



EXEC(@Sql)



Paulino Padial
Microsoft MCSD & MCT
Administrador de Bases de Datos

Marco Miramontes wrote:
Saludos a todos, agradecerían mucho si alguien me pudiera ayudar a
despejar una duda. Actualmente tengo una tabla de la cual tengo se tienen
varios campos:

código

Descripción

Activo



Y este es el script:

SET @Sql = "SELECT COLR_CODE as Col0, COLR_DESC as Col1, "
SET @Sql = @Sql + " CASE WHEN COLORANT.COLR_ACTIVE = 1 THEN '"+ @AC + "'
ELSE '" + @IN + "' END as Col2, "
SET @Sql = @Sql + " CONVERT(CHAR(1),COLR_ACTIVE) as Col3 "
SET @Sql = @Sql + " FROM COLORANT "



IF @SORT = 0
SELECT @Sql = @Sql + " ORDER BY COLR_CODE "
ELSE
SELECT @Sql = @Sql + " ORDER BY COLR_DESC "



EXEC(@Sql)

El problema es que la variable @AC, @IN y @Sql son del tipo nVarchar,
pero al momento de ejecutar esta sentencia me despliega en la columna Col2
signos de interrogación ya que la variable @AC tiene información en Ruso
"??????", pero si realizo la misma consulta pero sin concatenación si me
muestra los caracteres, Sabes alguien por que esta pasando esto ?...



Gracias


Preguntas similares