SSRS InStr 函数

SSRS InStr 函数是一个文本函数,用于在字符串字段中搜索字符或子字符串,并返回第一个匹配项的起始位置。本文将通过示例介绍如何使用 InStr 函数查找子字符串起始位置的第一个匹配项。

SSRS InStr 函数的语法,用于搜索字符串中文本(子字符串)的第一个匹配项并返回其索引位置,如下所示。

=InStr(Fields!Name.Value, " abc")

为了演示 SSRS InStr 函数,我们使用下面的 Employee 表,其中包含 15 条记录。下图显示了 Table 报表中的记录。

Source Table

SSRS InStr 函数示例

我在 Email_Address 列的右侧添加一个新列。接下来,右键单击 o Loc 下方的文本框,然后选择 Expression。为了理解报表,我建议您参考 SSRS 中关于 图表表格分组格式化表格 的文章。

这将打开如下的表达式窗口。下面的 SSRS InStr 函数在 Email 地址列中搜索“o”,并返回第一个出现的“o”的起始位置。

=InStr(Fields!Email_Adress.Value, "o")
InStr Function expression to find the character first occurrence position

请单击预览选项卡以查看第一个匹配项的位置。请记住,索引位置从 1 开始(而不是 0)。更多函数 >> 点击此处!

SSRS InStr Function preview

我尝试使用子字符串(或字符串)而不是单个字符作为搜索项。因此,创建一个新列,下面的 InStr 函数表达式将在 email 地址中搜索“tu”字符串,并返回第一个出现的“tu”的起始位置。如果找不到,则返回 0。

=InStr(Fields!Email_Adress.Value, "tu")

类似地,我在 Name 和 Email 列的右侧创建另外两个新列。接下来,右键单击它们下方的文本框以编写表达式。下面的 SSRS InStr 函数代码在 Name 字段中搜索空格,并返回第一个出现的起始位置。

=InStr(Fields!Name.Value, " ")

下面的代码在 Email_Address 字段中搜索“@”,并返回第一个出现的起始位置。

=InStr(Fields!Email_Adress.Value, "@")

请检查报表预览。Name 和 Mail 列只有一个“ ”和“@”符号,因此它会返回该位置。

SSRS InStr Function to find the first occurrence string position report preview