Vous n'êtes pas identifié(e).
Pages : 1
Bonjour,
en version 10
je fais la commande COPY:
\COPY xxx_sql_service_response_time_by_day FROM '/u02/app/alcopy/list_xxx_sql_service_response_time_by_day_20160901.csv.13583'
with delimiter ';' encoding 'ISO-8859_5' CSV HEADER;
psql:xxx_xxx_sql_service_response_time_by_day.sql:28: ERROR: invalid input syntax for type numeric: "2016/09/28 00:29"
CONTEXT: COPY xxx_sql_service_response_time_by_day, line 2, column begin_interval_t: "2016/09/28 00:29"
Je veux changer le type de champ:
xxx=# ALTER TABLE xxx_sql_service_response_time_by_day ALTER COLUMN begin_interval_t TYPE date;
ERROR: column "begin_interval_t" cannot be cast automatically to type date
HINT: You might need to specify "USING begin_interval_t::date".
Je fais comme c'est demandé:
xxx=# ALTER TABLE xxx_sql_service_response_time_by_day ALTER COLUMN begin_interval_t TYPE date USING begin_interval_t::date;
ERROR: cannot cast type numeric to date
LINE 1: ...UMN begin_interval_t TYPE date USING begin_interval_t::date;
Connaitriez-vous une solution?
D'avance merci.
Hors ligne
Il faudrait déjà savoir ce que contient cette colonne (comment elle est codée) pour trouver l'expression qui permet de convertir ce champ en date. De plus, ce n'est pas une date que vous voulez,vu que votre CSV contient date et heure (il s'agit plutôt dans ce cas de timestamp).
Guillaume.
Hors ligne
Pour le ALTER COLUMN vous pouvez metttre USING NULL s'il n'y avait pas de contenu avant ou s'il est intraduisible dans le nouveau type.
@DanielVerite
http://blog-postgresql.verite.pro/
Hors ligne
Pages : 1