基本上我想要做的是我想要得到中间的单词,使用第二次出现相同的字符(在这种情况下,破折号“ - ”)。如何使用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