Intercalación y espacios en blanco

03/08/2005 - 17:05 por bastet | Informe spam
Hola,

tengo una sentencia de este tipo:

select left(campo1, 40) + space(40 - len(campo1))
from tabla.

Me saca el valor de campo1 y rellena con espacios hasta 40 caracteres
con espacios.

Esto ha funcionado correctamente hasta hace unos días.

Ahora no hay forma de que rellene los 40 caracteres. ¿Puede ser que la
intercalación afecte en este caso? ¿Qué intercalaciones tienen en
cuenta los espacios en blanco a la derecha del texto en tipo de datos
varchar?

¿Puede esto afectar también a los decimales?

Gracias.

Un saludo,

Enrique Barceló

Preguntas similare

Leer las respuestas

#1 Maxi
03/08/2005 - 17:20 | Informe spam
Hola podes hacer una mini prueba, en lugar de campo1 hacelo sobre una
variable en la cual le pongas un valor de algun campo y proba, no creo que
sea un tema de intercalacion


Salu2
Maxi


"bastet" escribió en el mensaje
news:
Hola,

tengo una sentencia de este tipo:

select left(campo1, 40) + space(40 - len(campo1))
from tabla.

Me saca el valor de campo1 y rellena con espacios hasta 40 caracteres
con espacios.

Esto ha funcionado correctamente hasta hace unos días.

Ahora no hay forma de que rellene los 40 caracteres. ¿Puede ser que la
intercalación afecte en este caso? ¿Qué intercalaciones tienen en
cuenta los espacios en blanco a la derecha del texto en tipo de datos
varchar?

¿Puede esto afectar también a los decimales?

Gracias.

Un saludo,

Enrique Barceló
Respuesta Responder a este mensaje
#2 bastet
03/08/2005 - 17:45 | Informe spam
Hola Maxi,

antes de nada, gracias por responder.

He probado eso y funciona correctamente.

Acabo de crear otra tabla en la misma base de datos y funciona
correctamente

select campo1 + space(30) + 'pepe'
from atabla1
go
select suje_nombreds + space(30) + 'pepe'
from sujetos

de forma la primera consulta me concatena los espacios correctamente y
la segunda no lo hace.

La única diferencia es la intercalación del campo en la primera es
predeterminada de la base de datos y en la segunda es
Modern_Spanish_CI_AS

El caso es que el de la base de datos es LATIN1_GENERAL_CI_AI. Voy a
cambiar la intercalación a Modern_Spanish_CI_AS

Un saludo,

Enrique Barceló
Respuesta Responder a este mensaje
#3 Alejandro Mesa
03/08/2005 - 17:48 | Informe spam
Que tipo de dato es [campo1]?


AMB

"bastet" wrote:

Hola,

tengo una sentencia de este tipo:

select left(campo1, 40) + space(40 - len(campo1))
from tabla.

Me saca el valor de campo1 y rellena con espacios hasta 40 caracteres
con espacios.

Esto ha funcionado correctamente hasta hace unos días.

Ahora no hay forma de que rellene los 40 caracteres. ¿Puede ser que la
intercalación afecte en este caso? ¿Qué intercalaciones tienen en
cuenta los espacios en blanco a la derecha del texto en tipo de datos
varchar?

¿Puede esto afectar también a los decimales?

Gracias.

Un saludo,

Enrique Barceló


Respuesta Responder a este mensaje
#4 bastet
03/08/2005 - 18:08 | Informe spam
Hola,

varchar (100)

Un saludo,

Enrique Barceló
Respuesta Responder a este mensaje
#5 Alejandro Mesa
03/08/2005 - 20:40 | Informe spam
Puedes probar con:

select left(campo1, 40) from tabla

o

select cast(left(campo1, 40) as char(40)) from tabla


AMB

"bastet" wrote:

Hola,

tengo una sentencia de este tipo:

select left(campo1, 40) + space(40 - len(campo1))
from tabla.

Me saca el valor de campo1 y rellena con espacios hasta 40 caracteres
con espacios.

Esto ha funcionado correctamente hasta hace unos días.

Ahora no hay forma de que rellene los 40 caracteres. ¿Puede ser que la
intercalación afecte en este caso? ¿Qué intercalaciones tienen en
cuenta los espacios en blanco a la derecha del texto en tipo de datos
varchar?

¿Puede esto afectar también a los decimales?

Gracias.

Un saludo,

Enrique Barceló


Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida