From: | Germán Carrillo <carrillo(dot)german(at)gmail(dot)com> |
---|---|
To: | "postgre sql" <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Fwd: COPY POSTGRE |
Date: | 2008-01-08 14:58:39 |
Message-ID: | e32d76a10801080658i267fa45dqce68ff10068ae75f@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Hola Jhonny, en los parámetros del comando copy estás indicando que los
valores que serán tomados como nulos son los que corresponden a ' ' (esto lo
haces con: with null as ' ' ).
La forma en que pude solucionar el problema fue abriendo el archivo csv en
Open Office y asegurándome de que todos los nulos tuvieran exactamente un
espacio (porque así lo declaras con with null as ' ') empleando comandos de
edición como buscar y reemplazar. Una vez que tengas en tu archivo csv todos
los valores nulos representados por un espacio entonces puedes probar de
nuevo el comando COPY y estará solucionado el inconveniente.
NOTA: En realidad puedes usar cualquier juego de caracteres para indicar
cuáles son los valores nulos, por ejemplo, en Open Office podrías poner
todos los nulos con la palabra NULL y entonces deberías correr el comando
COPY con la opción with null as 'NULL'.
Éxitos, espero sea útil.
Germán Carrillo
El día 8/01/08, Johnny Verdugo <jverdugo(at)gmail(dot)com> escribió:
>
> hola amigos tengo el siguiente problem
>
> tengo esta tabla
>
> CREATE TABLE archivo_thrash
> (
> bsc_name character(50),
> bcf_name character(50),
> bts_name character(50),
> id numeric,
> lac numeric,
> rac numeric,
> ci numeric,
> id_2 numeric,
> freq numeric,
> use character(50),
> type_ character(50),
> bcc character(50),
> ncc numeric,
> id_3 numeric
> )
> WITHOUT OIDS;
> ALTER TABLE archivo_thrash OWNER TO postgres;
> SET client_encoding TO 'ISO_8859_5';
>
> y ejecuto este comando
> COPY archivo_thrash from 'C:/sitio_nuevo.csv' DELIMITERS ';' with null as
> ' ' header CSV;
>
> el cual me arroja este error
>
>
> ERROR: invalid input syntax for type numeric: " "
> Estado SQL:22P02
> Contexto:COPY archivo_thrash, line 7, column id: " "
>
> es porque en esa columna tengo null o vacio me gustaria que igual se
> pudiera ingresar el valor
> null para que no tuviera problema ya que el archivo se genera
> automaticamente y son muchos
> valores que quedan asi, como podria solucionarlo algun cambio en la tabla
> o en el codigo del copy?
>
> cualquier comentario es bueno
>
> saludos listeros
>
>
> Johnny
>
--
-----------
|\__
(:>__)(
|/
Soluciones Geoinformáticas Libres
http://geotux.tuxfamily.org/
From | Date | Subject | |
---|---|---|---|
Next Message | Fevis Koste | 2008-01-08 15:55:01 | Haciendo UPDATE desde un SELECT entre 2 tablas |
Previous Message | Johnny Verdugo | 2008-01-08 14:36:47 | COPY POSTGRE |