Ich habe ein bisschen einen Kampf mit Expressions in SSIS abgeleiteten Spalten.SSIS-abgeleiteter Spaltenausdruck für Boolean-zu-Char CAST
Mein Quellfeld ist ein BOOLEAN-Datentyp. Das Zielfeld ist ein SQL-CHAR-Datentyp.
** Beachten Sie, dass ich keines der Schemas entworfen habe. Wenn es nach mir ginge, würden die Datentypen übereinstimmen. Leider ist das nicht mein Fall!
Ich fand ein großartiges Beispiel für einen .NET Regulären Ausdruck, der CHAR-zu-BOOL konvertiert. Dies tut genau das Gegenteil von dem, was ich zu tun versuche:
[valToTranslate] == "Y" ? (DT_BOOL)1 : [valToTranslate] == "N" ? (DT_BOOL)0 : NULL(DT_BOOL)
habe ich versucht, die umgekehrte Formel dieses Ausdrucks ohne Erfolg umzusetzen. Hier ist mein Fehler Versuch:
[valToTranslate] == 0 ? (DT_WSTR,1)"N" : [valToTranslate] == 1 ? (DT_WSTR,1)"Y" : "N"(DT_WSTR)
Ich bin nicht sicher, ob die CAST (DT_WSTR, 1) für Datentyp Felder CHAR SQL auch korrekt ist? Soll ich stattdessen (DT_STR, 1) verwenden? Jede Hilfe wird sehr geschätzt.
Das SSIS-Paket erfordert, dass Sie das Feld an DT_STR in der Datenkonvertierungsaufgabe CAST. Dies funktioniert und ist offensichtlich viel einfacher als mein Ansatz. Ich bin immer noch neugierig, wie ich dafür den komplexen Ausdruck schreiben soll. Danke für deine Hilfe, du hast mein Problem gelöst :) – D3vtr0n