【发布时间】:2022-10-04 23:33:58
【问题描述】:
我是 SSIS 新手,我在根据列中字符串的多个条件填充派生列时遇到问题。
例如,我设法让它使用单一标准:
FINDSTRING(OS,\"Server\",1) > 0 ? \"服务器\" : \"桌面\"
以上工作并将操作系统中的服务器填充到 \"server\" 并将其他所有内容填充到 \"Desktop\" 但我还有其他可以识别服务器的字符串。我尝试过的例子是:
FINDSTRING(OS,\"Server\", \"Red Hat\", \"AIX\",1) > 0 ? \"服务器\" : \"桌面\"
我基本上有大约 10 个关键字在 OS 列中标识一个服务器,所以我想在派生列中为这些服务器输出服务器,为没有这些字符串的任何内容输出桌面。
那可能吗?我想过做 10 个不同的查找字符串,但我认为输出会相互覆盖。
谢谢你。
-
您可以使用 Transformation 类型的脚本组件并编写几行代码来检查字符串是否包含服务器或桌面。
-
OR或||最有可能在两个选项之间使用:(FINDSTRING(OS,\"Server\", 1)>0 OR FINDSTRING(OS,\"Red Hat\",1)>0) ? \"Server\" : \"Desktop\"(请注意,RedHat(或 IBM、MicroSoft 等)不暗示服务器(或桌面))