2009-12-03 12 views
4

J'ai un paquet SSIS qui copie des données d'une colonne qui est nullable à une table où la même colonne n'est pas nullable. Il y a de la bureaucratie impliquée dans le fait de rendre la source non nulle, alors pour l'instant j'ai besoin d'un moyen de changer les valeurs nulles pour les chaînes vides.Comment modifier les valeurs NULL pour les chaînes vides?

Je reçois les données d'une source ADO .Net, pas une requête où je pourrais simplement ajouter une vérification pour null. Si besoin est, je peux passer à une requête et faire la vérification à ce moment-là. Avant de faire cela, je voulais voir s'il y avait une transformation SSIS qui me permettrait de passer le Null à la chaîne vide (et toujours utiliser la même colonne).

+0

Ce lien wordpress ne fonctionne plus. – Skipsters

Répondre

9

Utilisez la transformation Derived Column. Vous pouvez ensuite sélectionner remplacer your_column_name du bas et déposer colonne dérivée puis remplir la propriété d'expression avec ce code:

ISNULL([your_column_name] ) ? " " : [your_column_name] 

Hope this helps.

3

Quelque chose de similaire à cela pourrait faire l'affaire pour vous. C'est en fait un exemple de l'opération inverse (de la chaîne vide à NULL) mais au moins montre l'opérateur conditionnel en cours d'utilisation.

Return a NULL DT_STR in a conditional statement

1

Il y a une nouvelle fonction REPLACENULL dans SSIS 2012 qui peut être utilisé.

REPLACENULL([your_column_name], "") 

Si SSIS 2008 est utilisé, ISNULL(...) ? ... : ... de réponses précédentes est la meilleure solution.

Questions connexes