根据最后两个连字符从右拆分字符串

k2fxgqgv  于 2022-10-03  发布在  其他
关注(0)|答案(0)|浏览(144)

我正在尝试使用SQL Server根据连字符(-)将字符串从右侧分隔到不同的列。但是,我无法实施它。下面是我想做的一个例子:

字符串输入:'CCP-GX-NP-ICL-14-SDSFPD4_04-MUN0X3'

预期产出:
第1列|第2列|第3列
-|-|
CCP-GX-NP-ICL-14|SDSFPD4_04|MUN0X3

从右侧开始,我想将第一个字符串从连字符分隔到不同的列,将第二个字符串从由连字符分隔到单独的列,并将所有信息从右侧到第三列。

我试过下面的东西

尝试1:

declare @str varchar(max)=  'CCP-GX-NP-ICL-14-SDSFPD4_04-MUN0X3'

select * from (select value, row_number() over (order by charindex('-' + value + '-', '-' + @str + '-')) rn
    from string_split(@str, '-')) t1

我能够在不同的Rn中分离出值,如何才能在不同的列中仅获得Rn编号6和7,并将Rn 1到(Last-2)放入其他列?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题