PDA

View Full Version : [SQLLOADER]caricamento da csv, problema con le date


oh my god
18-05-2009, 16:07
avrei bisogno di caricare un file csv con sqlldr.
tuttavia su alcune righe mi da un errore che penso dipenda dalle date.
mi spiego meglio:
il formato, nel file è dd/mon/yyyy , xò il mese è scritto in inglese, mentre le mie impostazioni sono in italiano, quindi, se il mese è febbraio nel file trovo scritto "feb" e tutto procede correttamente, mentre se il mese è maggio, nel file trovo "may" e questo nn viene riconosciuto....
come faccio nel file ctl a specificare questo, ma soprattutto è possibile???
grazie mille

gugoXX
18-05-2009, 16:32
la funzione TO_DATE accetta come paramerto la lingua.
(NLS_DATE_LANGUAGE)

Non so se si puo' fare direttamente su SQL LOADER
Alla peggio carichi come stringa e converti in un secondo passo in SQL

oh my god
18-05-2009, 17:37
ho risolto così, forse nn è il metodo migliore.....
CREATED "to_date(
to_char(
TO_DATE(:CREATED,'DD-MON-YY',
'NLS_DATE_LANGUAGE = AMERICAN'),
'DD/MM/YYYY HH24.MI.SS'),'DD/MM/YYYY HH24.MI.SS')",

gugoXX
18-05-2009, 17:47
ho risolto così, forse nn è il metodo migliore.....
CREATED "to_date(
to_char(
TO_DATE(:CREATED,'DD-MON-YY',
'NLS_DATE_LANGUAGE = AMERICAN'),
'DD/MM/YYYY HH24.MI.SS'),'DD/MM/YYYY HH24.MI.SS')",

Don't worry.
Se funziona cosi', difficilmente si rompera'.

oh my god
19-05-2009, 10:06
Don't worry.
Se funziona cosi', difficilmente si rompera'.
nel caso ci fosse un metodo + pulito, sarebbe utile saperlo

gugoXX
19-05-2009, 10:09
Non ho capito perche' non bastava solo la parte interna
TO_DATE(:CREATED,'DD-MON-YY', 'NLS_DATE_LANGUAGE = AMERICAN')

oh my god
19-05-2009, 16:46
mi dava errore e non effettuava l'inserimento....