繁体   English   中英

如何使用 SSIS 在 SQL 服务器中创建分隔符

[英]How to create a delimited in SQL Server using SSIS

SSIS

这是表格,我只想要 SQL 服务器中“>”之后的最后一个字符串,没有空格

表 SQL 服务器分隔:

Sports & Outdoors › Sports & Fitness › Leisure Sports & Game Room › Outdoor Games & Activities › Balls › Dodgeballs
Sports & Outdoors › Sports & Fitness › Leisure Sports & Game Room › Outdoor Games & Activities › Balls › Dodgeballs
Sports & Outdoors › Sports & Fitness › Accessories › Inflation Devices & Accessories
Sports & Outdoors › Sports & Fitness › Exercise & Fitness › Accessories › Jump Ropes

这是我需要的结果:

Dodgeballs
Dodgeballs
Inflation Devices & Accessories
Jump Ropes

这是 xls 中的 function:

=trim(index(SPLIT(A1,"›"),1,COUNTA(SPLIT(A1,"›"))))

这是 SSIS:

TRIM(SUBSTRING([Categories: Tree],FINDSTRING([Categories: Tree],"›",1),LEN([Categories: Tree])))

在 SQL 服务器中,可以使用:

select t.*, 
       right(tree, charindex(' › ', reverse(tree)) - 1)
from t;

是一个 db<>fiddle。

因此,您正在使用 SSIS派生列转换。

两个 SSIS 表达式函数的组合将产生所需的内容: TOKEN( TOKEN()TOKENCOUNT() 最后加上TRIM() function

对于 SSIS 变量:

TRIM(TOKEN(@[User::fileName], ">", TOKENCOUNT(@[User::fileName], ">")))

对于 SSIS 管道中的列:

TRIM(TOKEN(ColumnName, ">", TOKENCOUNT(ColumnName, ">"))) 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM