t-sql子串

时间:2011-11-02 15:34:30

标签: tsql

我基本上有一个需要收集的列。该列的格式如下:

Column A
--------
Root\FOLDERPATH\somesubfolderpath\somedocument.doc

第一个字符串“Root \”将始终与相同字符的lengt相同。 “Root”之后的所有内容都可以根据文档的文件夹结构而有所不同。

我需要检索的是第二个字符串。使用上面的例子,列应该看起来像lilke:

Column A
--------
FOLDERPATH

所以我需要删除“Root \”之后获取字符串并在此之后删除所有内容。

2 个答案:

答案 0 :(得分:6)

一种方式:

substring(fld, 6, charindex('\', substring(fld + '\', 6, len(fld))) -1)

答案 1 :(得分:0)

declare @val varchar(100)
set @val = 'Root\FOLDERPATH\somesubfolderpath\somedocument.doc'

select left(right(@val, len(@val) - 5), charindex('\', right(@val, len(@val) - 5)) - 1)