布尔对字符CAST SSIS派生列表达式
-
21-08-2019 - |
题
我有一个位SSIS派生列内使用表达式斗争的。
我的源字段是一个布尔数据类型。它的目标字段是一个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)
我不知道,如果投地(DT_WSTR,1)是CHAR SQL数据类型的字段甚至正确吗?我应该使用(DT_STR,1)呢?任何帮助感激。
解决方案
您是否尝试过只是一个简单的
[valToTranslate] ? "Y" : "N"
这应该工作 - 你可能需要到Y和N转换为DT_STR,如果它假定他们是WSTR默认
。不隶属于 StackOverflow