Si gracias lo termine arreglando ayer usando el codigo ascii hexadecimal con un regex
buscando los campos donde era posible que eso hubiera pasado. pero vaya telita de trabajo
manual, me pasa por dedicarme a portar datos de una aplicacion clipper del año 1000 ac.
sin ningun tipo de validacion en la entrada del usuario.
Un saludo,
Miguel Angel.
Alejandro Chen escribió:
Linos escribio:
.
.
.
y no solo postgres no quito los espacios a convertirlo a varchar si no que las funciones
de manejo de strings no lo hacen tampoco, ni trim, ni replace por ejemplo, despues de
darle vueltas me dio por probar que codigo me devolvian esos espacios asi que use
"ascii(substring(field from 1 for 1))" y me devolvio 160, luego probe "SELECT ascii(' ')"
y me devolvio 32 asi que parece ser que algunos campos continuan teniendo espacios con el
codigo del espacio que se usa en latin-1, no se si sera culpa del iconv o del postgres
pero son un monton de tablas y arreglarlas manualmente no va a ser sencillo, a alguien se
le ocurre alguna manera de automatizar esto para todos los campos que puedan estar afectados?
--
TIP 10: no uses HTML en tu pregunta, seguro que quien responda no podrá leerlo
hola, creo que esto te puede servir:
postgres=# create table foo(a character varying(30));
CREATE TABLE
postgres=# insert into foo values(chr(160)||'12345 ');
INSERT 0 1
postgres=# select length( a ) from foo;
length
--------
11
(1 fila)
postgres=# select length( trim(a,chr(160)) ) from foo;
length
--------
10
(1 fila)
postgres=# select length( trim(a) ) from foo;
length
--------
6
(1 fila)
postgres=# select length( trim(trim(a),chr(160)) ) from foo;
length
--------
5
(1 fila)
ig_con=#
Saludos
Alejandro Chen
--
TIP 2: puedes desuscribirte de todas las listas simultáneamente
(envía "unregister TuDirecciónDeCorreo" a [EMAIL PROTECTED])