gpt4 book ai didi

sql - SSIS 表达式

转载 作者:行者123 更新时间:2023-12-02 08:36:41 25 4
gpt4 key购买 nike

我有以下SQL代码

update ETL.TempRH 
set resourcer = IF(
qualification IN (47,49,50,164,187,252,185,239,251),
"resourcer" , type_Staff);

我需要将其转换为 ssis 表达式。我试过了,但没用。

(qualification = 47  || 
qualification = 49 ||
qualification = 50 ||
qualification = 164 ||
qualification = 187 ||
qualification = 252 ||
qualification = 185 ||
qualification = 239 ||
qualification = 251 ? "resourcer" : type_Staff)

最佳答案

您遇到的一个问题是 SSIS 中的相等比较运算符是 == 而不是 =

更一般地说,这些资格数字会改变吗?它们甚至是动态的吗?

您可能只想使用 Lookup 组件来存储您的 resourcer 资格值,根据它查找资格值,并在匹配时将您的 type_Staff 列替换为“resourcer”。

因此,例如在您的查找中将查询设置为

SELECT 47 as Qualification, 1 as IsResourcer
union
SELECT 49, 1
etc
etc

Join on Qualification,然后在您的 Derived Column 中简单地做

(IsResourcer == 1 ? "Resourcer" : Type_Staff)

如果您不关心保留原始的 type_Staff 值,您可以将查找查询更改为

   SELECT 47 as Qualification, 'Resourcer' as type_Staff
union
SELECT 49, 'Resourcer'
etc
etc

并设置 type_Staff 以替换您现有的 type_Staff 列。

关于sql - SSIS 表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20615489/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com