Выражение производного столбца SSIS для преобразования логического значения в символ

StackOverflow https://stackoverflow.com/questions/853574

Вопрос

У меня возникли некоторые проблемы с выражениями внутри производных столбцов 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.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top