将全名解析为单独的列名称字段

时间:2018-12-05 18:15:21

标签: sql-server tsql ssis etl ssis-2014

SSIS项目SQL 2014我在单个列中有一个全名字符串,其中包括逗号作为输入,并且如果它们存在于用于输出的单独列中,则我需要解析姓氏,名字,中间名。可以在选择中完成吗? 我见过寻找字符串等特定部分的解决方案,但是没有任何东西可以根据特定行中的字符串分成1到3列。对于这种集成,我可以假设第一个位置是姓氏,如果存在,那么下一个名字,如果存在,则下一个名字中间。

1 个答案:

答案 0 :(得分:2)

要充实注释,可以使用派生列转换从全名生成名称部分。任何不存在的部分将在输出中获得空格(不是NULLS)。

语法为TOKEN(character_expression, delimiter_string, occurrence)

或者,就您而言:

LastName   | <add as new column> | TOKEN(FullName, ",", 1)
FirstName  | <add as new column> | TOKEN(FullName, ",", 2)
MiddleName | <add as new column> | TOKEN(FullName, ",", 1)

它应该看起来像这样。我对表名做了类似的事情:

enter image description here