Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > ETL > Talend
Talend Forum d'entraide sur Talend (Talend Open Studio, ...). Avant de poster --> FAQ Talend, Tutoriels Talend
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 07/03/2011, 18h49   #1
Invité de passage
 
Inscription : juillet 2010
Messages : 9
Détails du profil
Informations forums :
Inscription : juillet 2010
Messages : 9
Points : 4
Points : 4
Par défaut " " à la place de Null

Bonjour,

Je dois importer un gros fichier tiers dans une base.
Je le problème d'un champ (en fait plusieurs) qui est sensé contenir un nullable integer mais qui tous les 5-10000 lignes contient un " " à la place d'un Null. J'ai essayé de régler le problème avec un

INT(TRIM(valeur))
mais marche pas.

J'ai essayé
INT(valeur.concat("0"))
(ça me dérange pas de remplacer les null par des 0)
ça marche sur les " " mais plante sur les null

Sachant que j'ai une bonne quarantaine de colonnes avec le même problème j'aimerai trouver une solution "propre".

J'ai pas mal cherché, mais j'imagine qu'il y a une solution tte simple qui vu mon niveau m'échappe complètement.
pieton57 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/03/2011, 13h45   #2
Rédacteur/Modérateur
 
Avatar de CyberChouan
 
Homme Benoît Courtine
Directeur technique
Inscription : janvier 2007
Messages : 2 744
Détails du profil
Informations personnelles :
Nom : Homme Benoît Courtine
Âge : 29
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Directeur technique
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : janvier 2007
Messages : 2 744
Points : 4 202
Points : 4 202
Envoyer un message via MSN à CyberChouan
Si ton job est généré en java, la solution la plus propre est certainement de développer une routine réutilisable (dans l'onglet correspondant) :

Code java :
1
2
3
4
public static void String trimToNull(String input) {
    String output = input.trim();
    return (output.length() != 0) ? output : null;
}

Tu peux bien sûr l'adapter si tu ne souhaites pas "trimer" toutes les chaînes.

Il te suffit en sortie de ton tMap d'appliquer cette méthode au champ d'entrée pour transformer les chaînes vides en "null".

Une méthode similaire existe certainement en Perl, mais ne connaissant pas bien le langage, je ne peux pas te donner la routine qui fonctionnera.
__________________
Avant de poster, pensez à regarder la FAQ, les tutoriaux, la Javadoc (de la JRE que vous utilisez) et à faire une recherche
Je ne réponds pas aux questions techniques par MP: les forums sont faits pour ça
Mes articles et tutoriaux & Mon blog informatique
CyberChouan est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h10.


 
 
 
 
Partenaires

Hébergement Web