获取SQL Server中的文本子字符串

时间:2013-01-15 23:08:32

标签: sql-server sql-server-2008

请帮助我获取以下文字的子字符串。

我希望能够提取文本

PilotCube_2Year

/content/folder[@name='Reporting Packages']/package[@name='PiotCube_2Year']

我正在使用SQL Server 2008

我已尝试substringCharindex但无法真正获得字符串PilotCube_2Year

1 个答案:

答案 0 :(得分:0)

假设package[@name=告诉你你要找的字符串在哪里,你可以尝试这样的事情:

DECLARE @toSearch  AS VARCHAR(100) = '/content/folder[@name=''Reporting Packages'']/package[@name=''PiotCube_2Year'']'
DECLARE @toFind AS VARCHAR(100)  = 'package[@name='
DECLARE @start AS INT = CHARINDEX(@toFind , @toSearch ) + LEN(@toFind) + 1

SELECT SUBSTRING(@toSearch,                              --expression
            @start,                                      --start
            CHARINDEX(']' , @toSearch, @start) - @start - 1) --length

<强>结果

PiotCube_2Year