基本上你正在寻找一个像这样的三元运算符条件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 博客