获取varchar的一部分的最后一个字(左/右)

时间:2011-12-09 10:30:20

标签: sql sql-server-2005 tsql

获取varchar的一部分的最后一个单词的正确方法是什么?

DECLARE @desc varchar(100)
SET @desc='EXCHANGEUNIT P1i / SILVERBLACK/ CYRILLIC'

SELECT RTRIM(LEFT(@desc, CHARINDEX('/', @desc) - 1))

返回:EXCHANGEUNIT P1i

我只需要查询P1i

提前致谢。

1 个答案:

答案 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 ) )