2011-05-18 29 views
6

Tengo un archivo CSV del cual estoy tratando de usar el comando Postgres COPY para completar una tabla desde ese archivo CSV. Una de las columnas de la tabla NEXT_VISIT tiene fecha date_type. Algunos de los campos correspondientes en el archivo CSV que se supone deben entrar en esta columna de fecha tienen valores nulos.Error al usar el comando Copiar en Postgres (ERROR: sintaxis de entrada no válida para tipo fecha: "")

El comando Copiar postulo es así:

COPY "VISIT_STAGING_TABLE" from E'C:\\Users\\Sir Codealot\\Desktop\\rufijihdss-2007-2010\\rufijihdss\\VISIT_TEST.CSV' CSV HEADER 

Cuando ejecuto este comando me sale el error:

ERROR: invalid input syntax for type date: "" 
CONTEXT: COPY VISIT_STAGING_TABLE, line 2, column NEXT_VISIT: "" 

********** Error ********** 
ERROR: invalid input syntax for type date: "" 
SQL state: 22007 
Context: COPY VISIT_STAGING_TABLE, line 2, column NEXT_VISIT: "" 

¿Cómo puedo ejecutar el comando de copia y obtener Postgres a aceptar que algunos de los campos en el archivo CSV correspondiente a NEXT_VISIT tienen valores ""?

Respuesta

3

que estaba teniendo el mismo problema, y ​​lo resuelto por mí era utilizar la instrucción WITH NULL ''. Es importante no tener espacio entre los apóstrofos.

Originalmente utilicé la declaración WITH NULL ' ' y obtuve el mismo mensaje de error que usted (ERROR: error de sintaxis en o cerca de "WITH NULL").

Pero cuando eliminé el espacio entre los apóstrofes funcionó.

10

Agregue WITH NULL AS '' a su comando (COPY espera que NULLs se representen como "\ N" (barra diagonal inversa-N) de forma predeterminada).

COPY "VISIT_STAGING_TABLE" from E'C:\\Users\\Sir Codealot\\Desktop\\rufijihdss-2007-2010\\rufijihdss\\VISIT_TEST.CSV' WITH CSV HEADER NULL AS '' 

Más detalles aquí: postgresql COPY

+0

bien He intentado con esa opción: COPIE "VISIT_STAGING_TABLE" de E'C: \\ Users \\ Sir Codealot \\ Desktop \\ rufijihdss-2007-2010 \\ rufijihdss \\ VISIT_TEST.CSV 'CSV HEADER WITH NULL AS '' y obtengo el error: ERROR: error de sintaxis en o cerca de "WITH NULL" – BlakkPhoenixx

+0

'WITH' debe aparecer antes de cualquier opción y después de la ruta del archivo. Ver mi edición – hamzus

+0

trataron eso también: COPIA "VISIT_STAGING_TABLE" de E'c: \\ \\ Usuarios Sir Tumaini Kilimba \\ \\ Escritorio rufijihdss-2007-2010 \\ \\ rufijihdss VISIT_TEST.CSV' con NULL AS ' ""' encabezado de CSV , pero ahora me da el ERROR de error: "El carácter de comillas de CSV no debe aparecer en la especificación NULL" ... también intenté COPIA "VISIT_STAGING_TABLE" de E'C: \\ Usuarios \\ Sir Tumaini Kilimba \\ Desktop \\ rufijihdss -2007-2010 \\ rufijihdss \\ VISIT_TEST.CSV 'CON NULL AS "" CSV HEADER (sin comillas simples entre comillas dobles) y obtiene el error ERROR: identificador delimitado de longitud cero en o cerca de "" "" ... – BlakkPhoenixx

Cuestiones relacionadas