获取varchar的一部分的最后一个单词的正确方法是什么?
DECLARE @desc varchar(100)
SET @desc='EXCHANGEUNIT P1i / SILVERBLACK/ CYRILLIC'
SELECT RTRIM(LEFT(@desc, CHARINDEX('/', @desc) - 1))
返回:EXCHANGEUNIT P1i
我只需要查询P1i
。
提前致谢。
答案 0 :(得分:11)
使用REVERSE,LEFT和CHARINDEX的组合 - 如下所示:
DECLARE @desc varchar(100)
SET @desc='EXCHANGEUNIT P1i / SILVERBLACK/ CYRILLIC'
SET @subdesc=RTRIM(LEFT(@desc, CHARINDEX('/', @desc) - 1))
SELECT REVERSE( LEFT( REVERSE(@subdesc), CHARINDEX(' ', REVERSE(@subdesc))-1 ) )