SSIS项目SQL 2014我在单个列中有一个全名字符串,其中包括逗号作为输入,并且如果它们存在于用于输出的单独列中,则我需要解析姓氏,名字,中间名。可以在选择中完成吗? 我见过寻找字符串等特定部分的解决方案,但是没有任何东西可以根据特定行中的字符串分成1到3列。对于这种集成,我可以假设第一个位置是姓氏,如果存在,那么下一个名字,如果存在,则下一个名字中间。
答案 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)
它应该看起来像这样。我对表名做了类似的事情: