簡體   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