gpt4 book ai didi

sql-server - 类似于 Power Query 的 SSIS 条件列

转载 作者:行者123 更新时间:2023-12-04 21:53:37 26 4
gpt4 key购买 nike

我对 SSIS 有点陌生,因为我经常在 Excel 中使用 Power Query。是否可以在 SSIS 中创建条件列,类似于在 Power Query 中的方式。

例如,在 Power Query 中,您可以创建一个条件列来表示 IF 列 [FileName] 包含 USA、Canada、United States、America = "North America"否则为 "null"。它将创建一个包含北美的新列,并且任何不符合条件的内容都将为空。在 SSIS 中是否有可能发生这样的事情。我试过使用 Substring 和 Findstring 但是它并没有完全满足我的需要。

最佳答案

基本上你正在寻找 ternary operator derived column 中的这种情况:

(FINDSTRING([Name], "USA", 1) > 0) || (FINDSTRING([Name], "Canada", 1) > 0) || (FINDSTRING([Name], "United States", 1) > 0) || (FINDSTRING([Name], "America", 1) > 0) ? "North America" :  NULL(DT_WSTR, 13)

为了解释它,我将其缩进为:
(FINDSTRING([Name], "USA", 1) > 0) || 
(FINDSTRING([Name], "Canada", 1) > 0) ||
(FINDSTRING([Name], "United States", 1) > 0) ||
(FINDSTRING([Name], "America", 1) > 0) ? "North America" :
NULL(DT_WSTR, 13)

要进一步修改它,您可以使用以下指南:
  • 对于包含 like '%value%' : FINDSTRING(col, "value", 1) > 0
  • like 'value%' 开始: FINDSTRING(col, "value", 1) == 1
  • like '%value' 结尾: REVERSE(LEFT(REVERSE(col), X)) == "value"

  • 来源: sqlservercentral blog

    关于sql-server - 类似于 Power Query 的 SSIS 条件列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49339009/

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