SSIS TOKEN 函数

SSIS TOKEN 函数是一个字符串函数,用于查找并返回字符表达式或字符串中指定标记的出现。标记可以是给定分隔符集合中的一个分隔符。本文将通过示例和语法解释如何使用 TOKEN 函数,查找标记并返回字符串中第一个标记出现之前的部分,如下所示。

TOKEN(<<Character_expression>>, <<delimiter_expression>>, <<occurrence>>)
  • Character_expression:原始字符串或进行分隔符搜索的列名。
  • delimiter_expression:在此 character_expression 中搜索此分隔符。
  • Occurrence:这是一个整数值,决定了 TOKEN 函数需要考虑的出现次数。

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

Source Table

SSIS TOKEN 函数

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

Data Flow to add Derived Column

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

TOKEN( [Name] , " ", 1 )

TOKEN( [Name] , " ", 2 )

TOKEN( [Name] , " ", 3)

TOKEN( [Phone] , "-", 1 )

TOKEN( [Phone] , "-", 2 )
SSIS TOKEN Function Expression

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

拖放“并集所有转换”并将“派生列”连接到它。接下来,右键单击连接节点并选择“启用数据查看器”。请运行 SSIS TOKEN 函数包以查看 Name 和 Phone 字段中的字符串部分。

正如我们所知,对于 Name 字段的所有表达式,我们都使用空格作为分隔符;对于 Phone 字段,我们使用“-”作为分隔符。

  1. NAME1 – 它返回 Name 字段的第一部分,因为我们选择了第一次出现。
  2. NAME2 – 它显示 Name 字段的第二部分,因为我们选择了第二次出现。
  3. NAME3 – 它显示 Name 字段的第三部分。
  4. PH1 – 它显示电话号码的第一个部分,即第一个“-”符号出现之前的部分。
  5. PH2 – 它显示电话号码的第二部分,即第二个“-”符号出现之前的部分。
SSIS TOKEN Function output