0

我在 SSIS 派生列中的表达式有点挣扎。

我的源字段是 BOOLEAN 数据类型。它的目标字段是 SQL CHAR 数据类型。

** 请注意,我没有设计任何一种模式。如果我有办法,数据类型会匹配。不幸的是,这不是我的情况!

我发现了一个将 CHAR 转换为 BOOL 的 .NET 正则表达式的好例子。这与我想要完成的完全相反:

[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 to (DT_WSTR,1) 对于 CHAR SQL 数据类型字段是否正确?我应该改用 (DT_STR,1) 吗?任何帮助是极大的赞赏。

4

1 回答 1

4

你有没有试过一个简单的

[valToTranslate] ? "Y" : "N"

这应该可行 - 如果默认情况下假定它们是 WSTR,您可能需要将 Y 和 N 转换为 DT_STR。

于 2009-05-12T16:13:46.307 回答