Porra,
esqueci-me de ti rapaz.
Um CTL para ti.
não mexo em datas com os últimos dígitos, nem aqui pude testar, mas diria que o FF3, é o que precisas.
Mandei o exemplo em modo "append", se quiseres em modo replace ... é só apagar o APPEND.
Código:
load data
CHARACTERSET UTF8
infile 'EXEMPLO.idl'
append into table EXEMPLO
fields terminated by "|" optionally enclosed by '"'
TRAILING NULLCOLS(
ID
,DATA_REGISTO "TO_DATE(:DATA_REGISTO, 'YYYY-MM-DD HH24:MI:SS.FF3')"
,NOME
,CIDADE
,IDADE
,PROFISSAO
)
Olha, segue aqui um ficheiro exemplo, que te dá para veres algumas funções possíveis.
É um ctl feito por um colega que eu martelei para reduzir mtos campos e alterar algumas labels.
Os selects funcionam como lookups e são muito úteis para carregar tabelas "filhas", ou para carregar códigos em vez de descrições ou o inverso.
Por exemplo, no que tu forneceste, imagina que tinhas uma tabela àparte que tinha registos tipo TABELA.CODIGO = VEND, TABELA.DESCRICAO = Vendedor
E o teu ficheiro tem a descrição, mas tu queres gravar na tabela o código.
Usas um lookup para isto. espero ter ajudado.
Código:
load data
CHARACTERSET UTF8
infile 'TABELA_EXEMPLO.idl'
append into table TABELA_EXEMPLO
fields terminated by "|" optionally enclosed by '"'
TRAILING NULLCOLS(
TABELA_EXEMPLO_ID "MEETING_ATTENDEE_SEQ.NEXTVAL"
,CAMPO_TEXTO_1
,CAMPO_CODIGO_ID "PT_FIND_CODIGO_ID(:CAMPO_CODIGO_ID)"
,STATUS_CHANGE_DATE "TO_DATE(:STATUS_CHANGE_DATE, 'YYYY-MM-DD')"
,LOCAL_ID
,MORADA_TEXTO "(SELECT line_1_address FROM address WHERE address_id = (SELECT address_id FROM affiliation WHERE affiliation_id = PT_FIND_AFFILIATION_ID(:LOCAL_ID)))"
,CITY "(SELECT city FROM address WHERE address_id = (SELECT address_id FROM affiliation WHERE affiliation_id = PT_FIND_AFFILIATION_ID(:LOCAL_ID)))"
)
Embora não recomende, isto suporta até carregar para várias tabelas, mas vais-te meter em confusão desnecessária.
Algo que te vai ajudar
Peço imensa desculpa por me ter esquecido, mas ando sempre a mil.
EDIT: Estive a ver aqui exemplos, e o ideal era conseguires tirar do informix sem as fracções de segundo, particularmente se vêm sempre a zero. Vai dar chatisse para importar. É que o Oracle pelo que vi, as fracções de segundos é apenas para a variavel do tipo TimeStamp e não para o Date.
Cumps,
JP