FINDSTRING (SSIS)
返回一个字符串的指定出现在字符表达式中的位置。返回结果是该出现的索引(索引从 1 开始)。字符串参数的取值必须为字符表达式,而 occurrence 参数的取值必须为整数。如果找不到字符串,则返回值是 0。如果字符串的出现次数少于所指定的 occurrence 参数,则返回值为 0。
语法
FINDSTRING(character_expression, searchstring, occurrence)
参数
- character_expression
是要在其中进行搜索的字符串。
- searchstring
是要搜索的字符串。
- occurrence
有符号或无符号的整数,用以指定要报告 searchstring 的匹配项。
结果类型
DT_I4
备注
FINDSTRING 只能处理 DT_WSTR 数据类型。如果 character_expression 和 searchstring 参数是字符串文字或数据类型为 DT_STR 的数据列,则它们在 FINDSTRING 执行操作前隐式转换为 DT_WSTR 数据类型。其他数据类型必须显式转换为 DT_WSTR 数据类型。有关详细信息,请参阅 Integration Services 数据类型和Cast (SSIS)。
如果 character_expression 或 searchstring 为空,则 FINDSTRING 返回空值。
在 occurrence 参数中使用值 1 将获得第一次出现的索引,使用 2 将获得第二次出现的索引,依此类推。
occurrence 必须为大于 0 的整数。
示例
此示例使用一个字符串文字。它返回值 11。
FINDSTRING("New York, NY, NY", "NY", 1)
此示例使用一个字符串文字。由于字符串“NY”只出现两次,所以返回结果是 0。
FINDSTRING("New York, NY, NY", "NY", 3)
此示例使用 Name 列。它返回 Name 列中值 n 的位置。返回结果因 Name 中值的不同而不同。如果 Name 包含 Anderson,则函数返回 8。
FINDSTRING(Name,"n", 2)
此示例使用 Name 和 Size 列。它返回 Name 列中 Size 值的最左侧字符的位置。返回结果因列值的不同而不同。如果 Name 包含 Mountain,500Red,42,且 Size 包含 42,则返回结果为 17。
FINDSTRING(Name,Size,1)