Domanda

Sto avendo un po 'di una lotta con le espressioni all'interno di colonne SSIS derivati.

Il mio campo di origine è un tipo di dati BOOLEAN. E 'campo di destinazione è un tipo di dati SQL CHAR.

** Si noti che non ha progettato uno dei due schemi. Se fosse per me, i tipi di dati sarebbe abbinare. Purtroppo, questo non è il mio caso!

Ho trovato un grande esempio di una Regular Expression NET convertire char-to-BOOL. Ciò fa l'esatto contrario di quello che sto cercando di realizzare:

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

Ho cercato di attuare la formula inversa di questa espressione senza successo. Qui è il mio tentativo non riuscendo:

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

Non sono sicuro se il cast (DT_WSTR, 1) è anche corretto per i campi di tipo di dati CHAR SQL? Dovrei usare (DT_STR, 1), invece? Ogni aiuto è molto apprezzato.

È stato utile?

Soluzione

Hai provato solo un semplice

[valToTranslate] ? "Y" : "N"

Che dovrebbe funzionare - potrebbe essere necessario lanciare la Y e N per DT_STR, se si assume che siano WSTR di default

.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top