我在名称列中有JR或SR的行我希望它们在最后我可以删除特殊字符但在此步骤中混淆
NUM VEH NAME NAME_Clean
017 1 CLARK, jr WILLIAM CLARK WILLIAM JR
037 2 DESORMEAUX, JR. MICHELLE DESORMEAUX MICHELLE JR
043 1 FALCON, JENNIFER,jr FALCON JENNIFER JR
073 2 WINTERS, ALLEN WINTERS ALLEN
答案 0 :(得分:2)
使用派生列转换并基于NAME列创建新的派生列,其中包含以下内容:
(FINDSTRING([NAME], “JR”,1)== 1个|| FINDSTRING([NAME], “JR”,1)== 1)?REPLACE(REPLACE(REPLACE(REPLACE([NAME], “,”,“”),“。”,“”),“JR”,“”),“jr”,“”)+“JR”:REPLACE(REPLACE([NAME],“,”,“”) ), “”, “”)
请注意,第一个表达式FINDSTRING仅适用于DT_WSTR数据类型
祝你好运:)答案 1 :(得分:1)
您可以使用带有SSIS表达式的Derived Column Transformation将嵌入的“JR”替换为尾随的“JR”:
FINDSTRING(NAME, " JR ") > 0 ? REPLACE(NAME, " JR ", "") + " JR" : NAME
如果你想为几个不同的字符串执行此操作,可以嵌套表达式,或者一个接一个地使用多个转换。
有关详细信息,请参阅SSIS Functions,REPLACE,FINDSTRING,Concatenate operator和Conditional operator (?:)。