T-SQL 2008:解析字符串

时间:2016-07-27 23:15:12

标签: sql-server tsql substring reverse

我将以下位置作为字符串:

\\Windows\UnitB\CU1234_001\

我只想返回CU1234_001部分。我需要使用的查询需要是动态的,因为这个字符串会改变,它可能会更长或更短(它将一直以“\”结尾。

我尝试使用类似这样的东西,但这只是消除了最后一个“\”并返回字符串的其余部分:

select 
    substring('\\Windows\UnitB\CU1234_001\',
              1, (len('\\Windows\UnitB\CU1234_001\') - (Charindex('\',  
  reverse(rtrim('\\Windows\UnitB\CU1234_001\'))))))

1 个答案:

答案 0 :(得分:1)

您可以使用字符串函数的组合来提取您想要的内容:

SELECT REVERSE(SUBSTRING(REVERSE(col),
                         2,
                         CHARINDEX('/', REVERSE(col), 2) - 2))
FROM yourTable