Evitar inserción espacios en blanco

24/11/2004 - 12:59 por Francisco | Informe spam
Wenas:

Tengo un procedimiento almacenado con datos de tipo varchar, y en el q se
insertan registros.

A estos campos, si por ejemplo tienen un tamaño de 50, y le indico que tome
el valor "probando", lo q hace es rellenar con espacios en blanco hasta
completar el campo, los 50 caracteres, es decir, inserta el valor 'probando
'.

Sin embargo con el tipico insert ... no lo hace.

¿Xq?. ¿Se puede evitar?.

Salu2 y gracias.

No es sabio el que sabe sino el que no sabe y quiere aprender

Preguntas similare

Leer las respuestas

#1 Carlos Sacristan
24/11/2004 - 13:10 | Informe spam
¿Y si quieres que todos tengan un tamaño fijo porqué no en vez de
VARCHAR le declaras como CHAR?


Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)

Por favor, responder únicamente al foro
Se agradece la inclusión de sentencias DDL


"Francisco" escribió en el mensaje
news:
Wenas:

Tengo un procedimiento almacenado con datos de tipo varchar, y en el q se
insertan registros.

A estos campos, si por ejemplo tienen un tamaño de 50, y le indico que


tome
el valor "probando", lo q hace es rellenar con espacios en blanco hasta
completar el campo, los 50 caracteres, es decir, inserta el valor


'probando
'.

Sin embargo con el tipico insert ... no lo hace.

¿Xq?. ¿Se puede evitar?.

Salu2 y gracias.

No es sabio el que sabe sino el que no sabe y quiere aprender
Respuesta Responder a este mensaje
#2 Paulino Padial
24/11/2004 - 13:12 | Informe spam
Eso te lo hace porque la columna en la que insertas los datos es de tipo
char, ¿puede ser?
mira este ejemplo
use tempdb
go
create table b
(
a char(10),
b nvarchar(10)
)

insert into b values ( 'hola', 'adios')
select * from b

comprobaras que "a" tiene espacios detrás de hola y sin embargo "b" no los
tiene ;)
__________________________________________

Paulino Padial López
Murcia - España

Microsoft SQL-Server Administrator.
Microsoft Certified Solution Developer
Microsoft Certified Trainer
Oracle Certified Asociate
__________________________________________
"Francisco" escribió en el mensaje
news:
Wenas:

Tengo un procedimiento almacenado con datos de tipo varchar, y en el q se
insertan registros.

A estos campos, si por ejemplo tienen un tamaño de 50, y le indico que


tome
el valor "probando", lo q hace es rellenar con espacios en blanco hasta
completar el campo, los 50 caracteres, es decir, inserta el valor


'probando
'.

Sin embargo con el tipico insert ... no lo hace.

¿Xq?. ¿Se puede evitar?.

Salu2 y gracias.

No es sabio el que sabe sino el que no sabe y quiere aprender
Respuesta Responder a este mensaje
#3 Maxi
24/11/2004 - 13:14 | Informe spam
Hola, eso debe estar dentro del SP y te explico porque:

Un campo Varchar solo tendra el tamaño del contenido por Default, en este
caso "Probando" si en la BDD queda
"Probando ." esto es porque se lo estan diciendo asi. Lo normal es que
esto no pase y a mi juicio no tiene sentido hacerle eso a un campo Varchar,
para eso hubieren seleccionado un campo tipo CHAR :)


Salu2
Maxi


"Francisco" escribió en el mensaje
news:
Wenas:

Tengo un procedimiento almacenado con datos de tipo varchar, y en el q se
insertan registros.

A estos campos, si por ejemplo tienen un tamaño de 50, y le indico que
tome
el valor "probando", lo q hace es rellenar con espacios en blanco hasta
completar el campo, los 50 caracteres, es decir, inserta el valor
'probando
'.

Sin embargo con el tipico insert ... no lo hace.

¿Xq?. ¿Se puede evitar?.

Salu2 y gracias.

No es sabio el que sabe sino el que no sabe y quiere aprender
Respuesta Responder a este mensaje
#4 Francisco
24/11/2004 - 13:17 | Informe spam
No, son de tipo varchar, seguro.

"Paulino Padial" wrote:

Eso te lo hace porque la columna en la que insertas los datos es de tipo
char, ¿puede ser?
mira este ejemplo
use tempdb
go
create table b
(
a char(10),
b nvarchar(10)
)

insert into b values ( 'hola', 'adios')
select * from b

comprobaras que "a" tiene espacios detrás de hola y sin embargo "b" no los
tiene ;)
__________________________________________

Paulino Padial López
Murcia - España

Microsoft SQL-Server Administrator.
Microsoft Certified Solution Developer
Microsoft Certified Trainer
Oracle Certified Asociate
__________________________________________
"Francisco" escribió en el mensaje
news:
> Wenas:
>
> Tengo un procedimiento almacenado con datos de tipo varchar, y en el q se
> insertan registros.
>
> A estos campos, si por ejemplo tienen un tamaño de 50, y le indico que
tome
> el valor "probando", lo q hace es rellenar con espacios en blanco hasta
> completar el campo, los 50 caracteres, es decir, inserta el valor
'probando
> '.
>
> Sin embargo con el tipico insert ... no lo hace.
>
> ¿Xq?. ¿Se puede evitar?.
>
> Salu2 y gracias.
>
> No es sabio el que sabe sino el que no sabe y quiere aprender



Respuesta Responder a este mensaje
#5 Francisco
24/11/2004 - 13:19 | Informe spam
Es al reves, no quiero q tengan un tamaño fijo, y por eso son varchar.

"Carlos Sacristan" wrote:

¿Y si quieres que todos tengan un tamaño fijo porqué no en vez de
VARCHAR le declaras como CHAR?


Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)

Por favor, responder únicamente al foro
Se agradece la inclusión de sentencias DDL


"Francisco" escribió en el mensaje
news:
> Wenas:
>
> Tengo un procedimiento almacenado con datos de tipo varchar, y en el q se
> insertan registros.
>
> A estos campos, si por ejemplo tienen un tamaño de 50, y le indico que
tome
> el valor "probando", lo q hace es rellenar con espacios en blanco hasta
> completar el campo, los 50 caracteres, es decir, inserta el valor
'probando
> '.
>
> Sin embargo con el tipico insert ... no lo hace.
>
> ¿Xq?. ¿Se puede evitar?.
>
> Salu2 y gracias.
>
> No es sabio el que sabe sino el que no sabe y quiere aprender



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