如果你能保證值將僅包含兩個下劃線:
DECLARE @ThirdPartyRef VARCHAR(50)
SET @ThirdPartyRef = '2500_NEW_001'
SELECT @ThirdPartyRef AS Value,
CHARINDEX('_',@ThirdPartyRef) AS FirstUnderscore,
CHARINDEX('_',@ThirdPartyRef,CHARINDEX('_',@ThirdPartyRef)+1) AS SecondUnderscore,
SUBSTRING(@ThirdPartyRef, CHARINDEX('_',@ThirdPartyRef) + 1, CHARINDEX('_',@ThirdPartyRef,CHARINDEX('_',@ThirdPartyRef)+1) - CHARINDEX('_',@ThirdPartyRef) - 1) AS Result
結果:
/------------------------------------------------------------\
| Value | FirstUnderscore | SecondUnderscore | Result |
|--------------+-----------------+------------------+--------|
| 2500_NEW_001 | 5 | 9 | NEW |
\------------------------------------------------------------/
的FirstUnderscore
和SecondUnderscore
列只是爲了說明解決方案的工作原理。
什麼數據庫,你真的使用?你的問題被標記爲MySQL,但代碼看起來像SQL Server。基於代碼工作的想法,我將標記更改爲sql-server。 –
嗨,沒錯,它的SQL服務器,爲改變而歡呼。 –
您的預計結果來自於2500_NEW_001? –