2

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

4

1 回答 1

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)

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

在此处输入图像描述

于 2018-12-05T22:53:24.010 回答