Выражение производного столбца SSIS для преобразования логического значения в символ
-
21-08-2019 - |
Вопрос
У меня возникли некоторые проблемы с выражениями внутри производных столбцов SSIS.
Мое исходное поле имеет тип данных BOOLEAN.Поле назначения имеет тип данных SQL CHAR.
** Обратите внимание, что ни одну из схем я не разрабатывал.Если бы я добился своего, типы данных совпадали бы.К сожалению, это не мой случай!
Я нашел отличный пример регулярного выражения .NET, преобразующего CHAR в BOOL.Это делает полную противоположность тому, чего я пытаюсь достичь:
[valToTranslate] == "Y" ? (DT_BOOL)1 : [valToTranslate] == "N" ? (DT_BOOL)0 : NULL(DT_BOOL)
Я безуспешно пытался реализовать обратную формулу этого выражения.Вот моя неудачная попытка:
[valToTranslate] == 0 ? (DT_WSTR,1)"N" : [valToTranslate] == 1 ? (DT_WSTR,1)"Y" : "N"(DT_WSTR)
Я не уверен, что CAST для (DT_WSTR,1) корректен даже для полей типа данных CHAR SQL?Должен ли я использовать вместо этого (DT_STR,1)?Любая помощь очень ценится.
Решение
Вы пробовали просто
[valToTranslate] ? "Y" : "N"
Это должно сработать — возможно, вам придется преобразовать Y и N в DT_STR, если предполагается, что по умолчанию они WSTR.