我正在尝试使用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)放入其他列?
暂无答案!
目前还没有任何答案,快来回答吧!