Texto alineado a la derecha en un campo

23/12/2004 - 20:27 por Gonzalo Torres | Informe spam
Hola
Estoy tratando de insertar cadenas de texto dentro de un campo de una tabla
pero quisiera que esta cadena esté justificada a la derecha del límite de la
columna.
Escribí estas líneas en un stored procedure en MSSQL7, pero no funcionó:
INSERT INTO Empleados (Numero, Nombre)
VALUES (@Numero, SPACE(150 - LEN(@Nombre)) + @Nombre)

Supongamos que el tipo de datos de la columna 'Nombre' es varchar(150).
Si inserto una cadena para @Nombre con un valor pequeño, sí es alineado a la
derecha,
el problema viene cuando los siguientes valores de @Nombre varían mucho en
tamaño,
ya sea si son muy grandes los nombres o muy pequeños en comparación unos con
otros.
Por ejemplo, si para mi primer registro selecciono @Nombre = 'mundo' ésta
palabra se alinea
a la derecha de mi columna, pero cuando agrego otro valor, supongamos
@Nombre = 'esta es otra linea de texto', si yo visualizo el contenido de mi
tabla en MSSQL,
mi valor previo (mundo) es movido a otra posición dentro de la columna, como
si estuviera
alineado al centro de acuerdo al nuevo valor insertado.
Tal vez la razón sean los espacios en blanco dentro de la cadena, que son
comprimidos o no.

Cómo puedo remediar esto?
 

Leer las respuestas

#1 Maxi
23/12/2004 - 20:29 | Informe spam
Hola justificar en un campo de BDD? hmmmm yo esta tarea se la dejaria a la
aplicacion y no al motor de BDD :-)


Salu2
Maxi


"Gonzalo Torres" escribió en el mensaje
news:
Hola
Estoy tratando de insertar cadenas de texto dentro de un campo de una
tabla
pero quisiera que esta cadena esté justificada a la derecha del límite de
la columna.
Escribí estas líneas en un stored procedure en MSSQL7, pero no funcionó:
INSERT INTO Empleados (Numero, Nombre)
VALUES (@Numero, SPACE(150 - LEN(@Nombre)) + @Nombre)

Supongamos que el tipo de datos de la columna 'Nombre' es varchar(150).
Si inserto una cadena para @Nombre con un valor pequeño, sí es alineado a
la derecha,
el problema viene cuando los siguientes valores de @Nombre varían mucho en
tamaño,
ya sea si son muy grandes los nombres o muy pequeños en comparación unos
con otros.
Por ejemplo, si para mi primer registro selecciono @Nombre = 'mundo' ésta
palabra se alinea
a la derecha de mi columna, pero cuando agrego otro valor, supongamos
@Nombre = 'esta es otra linea de texto', si yo visualizo el contenido de
mi tabla en MSSQL,
mi valor previo (mundo) es movido a otra posición dentro de la columna,
como si estuviera
alineado al centro de acuerdo al nuevo valor insertado.
Tal vez la razón sean los espacios en blanco dentro de la cadena, que son
comprimidos o no.

Cómo puedo remediar esto?

Preguntas similares