我是SSIS的新手,我正在进行小型数据迁移。我的目标数据库col1
中有一列具有唯一键约束,数据位于" xxxx01"构型中。
我需要做的是将源数据从col2
缩短为四个第一个字符(xxxx),如果第一个部分与其他行相同,则将运行编号添加到末尾。因此,例如,目标数据看起来像fest01, fest02, fest03, test01,kest01
。
在我的源表中,可能有少量80行在source.col2
中具有相同的值,因此运行数必须至少高。
答案 0 :(得分:1)
使用OLEDB Source
添加到您的包SQL command
中,如下所示:
/* sample data */
declare @t table (v varchar(50))
insert @t values('sadasvasv'),('sdfvadvssdv')
/* the SQL command */
SELECT LEFT(v,4)+CAST(ROW_NUMBER() OVER(PARTITION BY LEFT(v,4) ORDER BY v) as varchar(50)) AS col1
FROM @t