|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Futur Membre du Club
![]() Inscription : avril 2007 Messages : 38 ![]() |
Bonjour je récupère un fichier d'un as400 que je veux transfèrer dans Oracle avec Sql Loader. Les dates sont au format suivant "jj/mm/aaaa" stocké dans un champ alphanumérique de 10 caractères. Les enregistrements qui n'ont pas de date ont dans le champ "00/00/0000".
J'ai défini dans ma tables ces champs comme des champs au format date oracle. Ensuite dans mon fichier de controle j'ai : Code :
Code :
le résultat que j'aimerais atteindre pendant le chargemenent est : Si la date xx/xx/xxxx est valide la convertire et la charger dans le champ sinon mettre a NULL la valeur du champ. Puis-je y arriver par les procédure stockés ? Comment faire un if else sur un champ du fichier de controle ? Merci pour vos nombreuses réponses. |
||||
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Expert Datawarehouses + BO (sur BDD Oracle et SQL Server) Inscription : mars 2003 Messages : 645 ![]() |
un decode (ou même un case when) devrait convenir:
Orafaq: Can one modify data as it loads into the database? |
|
|
00
|
|
|
#3 |
![]() ![]() Consultant en Business Intelligence Inscription : janvier 2007 Messages : 1 192 ![]() |
Bonjour,
1ere chose, à mon avis il te manque : dans ton code Code :
RMGDTC "to_date(:RMGDTC||' 00:00:00','DD/MM/YYYY HH24:MI:SS')",
Code :
RMGDTC "decode('00/00/0000', to_date('01/01/1900','dd/mm/yyyy'),to_date(:RMGDTC||' 00:00:00','DD/MM/YYYY HH24:MI:SS'))",
sinon tu converti la date Normalement ça doit passer Voili, voilou |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com