Выражение производного столбца служб SSIS для CAST типа Boolean-to-Char - PullRequest
0 голосов
/ 12 мая 2009

У меня проблемы с выражениями внутри производных столбцов служб 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) вместо этого? Любая помощь с благодарностью.

1 Ответ

4 голосов
/ 12 мая 2009

Вы пробовали просто

[valToTranslate] ? "Y" : "N"

Это должно сработать - вам может понадобиться привести Y и N к DT_STR, если предполагается, что они по умолчанию WSTR.

...