您可以按以下:
;WITH CTE
AS
(
select '14-L-100-10008-G03S-N' Val UNION ALL
select '1-DR-100-20057-G48-N' Val UNION ALL
select '2-CL-100-12133-B12-P' Val UNION ALL
select '2-FG-100-12202-B01-N' Val UNION ALL
select '2-G-100-15520-B48-N' Val UNION ALL
select '2-GM-100-10024-B01-N' Val UNION ALL
select '2-HC-100-10022-G03S-N' Val UNION ALL
select '2-HC-100-10023-G03S-N' Val UNION ALL
select '2-HC-100-20023-G03S-N' Val UNION ALL
select '32-G-100-15518-F03P2-N' Val UNION ALL
select '32-G-100-15518-F03P2-N'
)
SELECT REVERSE(SUBSTRING(REVERSE(Val), CHARINDEX('-', REVERSE(Val), 0) + 1, CHARINDEX('-', REVERSE(Val), CHARINDEX('-', REVERSE(Val), 0) + 1) - CHARINDEX('-', REVERSE(Val)) - 1))
FROM
CTE
編輯:
SELECT
(
SELECT REVERSE(SUBSTRING(REVERSE(Val), CHARINDEX('-', REVERSE(Val), 0) + 1, CHARINDEX('-', REVERSE(Val), CHARINDEX('-', REVERSE(Val), 0) + 1) - CHARINDEX('-', REVERSE(Val)) - 1)) + ' ,'
FROM
CTE
FOR XML PATH ('')
) Result
結果:G03S ,G48 ,B12 ,B01 ,B48 ,B01 ,G03S ,G03S ,G03S ,F03P2 ,F03P2 ,
SELECT LEFT(A.Result, LEN(A.Result) -1) FROM
(SELECT (SELECT REVERSE(SUBSTRING(REVERSE(Val), CHARINDEX('-', REVERSE(Val), 0) + 1, CHARINDEX('-', REVERSE(Val), CHARINDEX('-', REVERSE(Val), 0) + 1) - CHARINDEX('-', REVERSE(Val)) - 1)) + ' ,' FROM CTE FOR XML PATH ('')) Result) A
結果:G03S ,G48 ,B12 ,B01 ,B48 ,B01 ,G03S ,G03S ,G03S ,F03P2 ,F03P2
@NEER沒有,你可以看到,有時N或PT不特定的格式 –
的我只能看到第二個倒數和最後一個減號。 – AntDC