2009-05-12 14 views
0

Je rencontre un peu de difficultés avec les expressions à l'intérieur des colonnes dérivées SSIS.Expression de colonne dérivée SSIS pour CAST booléen-à-

Mon champ source est un type de données BOOLEAN. Son champ de destination est un type de données SQL CHAR.

** Notez que je n'ai conçu aucun des schémas. Si j'avais mon chemin, les types de données correspondraient. Malheureusement, ce n'est pas mon cas!

J'ai trouvé un excellent exemple de conversion d'expression régulière .NET CHAR-to-BOOL. Cela fait exactement le contraire de ce que je suis en train d'accomplir:

[valToTranslate] == "Y" ? (DT_BOOL)1 : [valToTranslate] == "N" ? (DT_BOOL)0 : NULL(DT_BOOL) 

J'ai essayé de mettre en œuvre la formule inverse de cette expression sans succès. Voici ma tentative ne:

[valToTranslate] == 0 ? (DT_WSTR,1)"N" : [valToTranslate] == 1 ? (DT_WSTR,1)"Y" : "N"(DT_WSTR) 

Je ne sais pas si le CAST à (DT_WSTR, 1) est même correct pour les champs CHAR SQL datatype? Dois-je utiliser (DT_STR, 1) à la place? Toute aide est grandement appréciée.

Répondre

4

Avez-vous essayé juste un simple

[valToTranslate] ? "Y" : "N" 

Cela devrait fonctionner - vous devrez peut-être lancer le Y et N à DT_STR, si elle suppose qu'ils sont WSTR par défaut.

+0

Le package SSIS nécessite que vous afficherez le champ à DT_STR dans la tâche de conversion de données. Cela fonctionne et est évidemment beaucoup plus facile que mon approche. Je suis toujours curieux de savoir comment écrire l'expression complexe pour cela. Merci pour votre aide, vous avez résolu mon problème :) – D3vtr0n

Questions connexes