基本上我想要做的是我想要得到中間的單詞,使用第二次出現相同的字符(在這種情況下,破折號「 - 」)。如何使用Substring通過Charindex的Second Position獲取中間詞?
這是樣品輸入:
declare @word nvarchar(max)
set @word = 'Technical Materials - Conversion - Team Dashboard'
上有這樣一句話三個部分,它們除以「 - 」虛線。
的第一部分是「技術資料」,這我能夠用得到:
SELECT LTRIM(RTRIM(SUBSTRING(@word, 0, CHARINDEX('-', @word, 0))))
的最後一組是「團隊儀表板」,這我能夠用得到:
SELECT CASE WHEN LEN(@word) - LEN(REPLACE(@word, '-', '')) = 1
THEN NULL
ELSE
RIGHT(@word,CHARINDEX('-', REVERSE(@word))-1)
END
問題是,我很難得到這個例子中'轉換'的中間詞。
如果格式是固定的,你是什麼意思?我的意思是這種代碼不起作用的格式? –
他的意思是如果你總是有2' - '而不是''。在價值 – GuidoG
我的意思是這裏的兩個破折號。查詢需要更改,如果它有少於/多於2破折號 – Arulkumar