SSIS TOKENCOUNT 函数

SSIS TOKENCOUNT 是一个字符串函数,用于查找和返回字符表达式或字符串中可用令牌的总数。令牌可以由给定分隔符集中的分隔符标记。本文将介绍如何使用 TOKENCOUNT 函数,并附带示例,计数字符串中可用令牌总数的语法如下。

TOKENCOUNT(<<Character_expression>>, <<delimiter_expression>>)

Character_expression:原始字符串或进行令牌搜索的列名。

delimiter_expression:用于搜索 character_expression 中的分隔符。

为了演示 SSIS TOKENCOUNT 函数,我们使用下面的 Employee 表,该表有 15 条记录。请参阅 SSIS 中的 Union All TransformationDerived Column Transformation内置函数SQL Server 文章。

Source Table

SSIS TOKENCOUNT 函数

对于此 TOKENCOUNT 示例,请添加一个数据流任务并双击它以进入数据流区域。接下来,添加 OLE DB 源以从上述 SQL 数据库表中读取数据。请将 OLE DB 源连接到派生列转换,以编写 TOKENCOUNT 表达式并创建新列。

Data Flow to add Derived Column

接下来,双击它以打开派生列转换编辑器。将 SSIS TOKENCOUNT 函数拖放到“表达式”下的行单元格中,并将 Character_expression 替换为 Name(字符串)列,将令牌分隔符替换为空格。您可以手动删除完整的 <<Character_expression>> 表达式,或者拖放 Name 列会自动替换它。

以下两个表达式将计算 Name 列中报告的空格令牌和 Phone 列中的 – 符号的总次数。

TOKENCOUNT( [Name] , " " )

TOKENCOUNT( [Phone] , "-" )
SSIS TOKENCOUNT Function Expression

单击“确定”关闭编辑器窗口。

拖放 Union All Transformation 并将其连接到派生列。接下来,右键单击连接节点并选择“启用数据查看器”。请运行 TOKENCOUNT 函数包以查看 Name 和 Phone 字段中的黑色空格和 – 令牌计数。

SSIS TOKENCOUNT Function output