SUBSTRING (SSIS)
返回字符表达式的一部分,该部分从指定位置开始并具有指定长度。position 参数和 length 参数的取值必须为整数。
语法
SUBSTRING(character_expression, position, length)
参数
character_expression
是从中提取字符的字符表达式。
position
是一个指定子字符串开始位置的整数。
length
是一个用字符个数指定子字符串长度的整数。
结果类型
DT_WSTR
备注
SUBSTRING 使用从 1 开始的索引。如果 position 为 1,则子字符串从 character_expression 的第一个字符开始。
SUBSTRING 只能处理 DT_WSTR 数据类型。如果 character_expression 参数是字符串文字或数据类型为 DT_STR 的数据列,则它在 SUBSTRING 执行操作前隐式转换为 DT_WSTR 数据类型。其他数据类型必须显式转换为 DT_WSTR 数据类型。有关详细信息,请参阅 Integration Services 数据类型和Cast (SSIS)。
如果此参数为空,则 SUBSTRING 返回的结果为空。
表达式中的所有参数都可以使用变量和列。
length 参数可以超过字符串长度。在这种情况下,函数将返回字符串的剩余部分。
示例
此示例从字符串文字的第 4 个字符开始返回两个字符。返回结果为“ph”。
SUBSTRING("elephant",4,2)
此示例从第四个字符开始返回字符串文字的剩余部分。返回结果为“phant”。length 参数超过字符串长度不是错误。
SUBSTRING ("elephant",4,50)
此示例返回 MiddleName 列的第一个字母。
SUBSTRING(MiddleName,1,1)
此示例使用参数 position 和 length 中的变量。如果 Start 为 1 而 Length 为 5,则函数返回 Name 列的头五个字符。
SUBSTRING(Name,@Start,@Length)
此示例从 PostalCode 变量的第六个字符开始返回最后四个字符。
SUBSTRING (@PostalCode,6,4)
此示例从字符串文字中返回一个零长度的字符串。
SUBSTRING ("Redmond",4,0)