1

我有一个字符串,其形式为

Text I Want to Discard (TEXT I WANT)

我只想要括号中包含的字符串部分。我该如何获取这个子字符串?

4

2 回答 2

3

这个怎么样:

select substring(col, charindex('(', col), len(col))  
from yourtable;

请参阅带有演示的 SQL Fiddle

或者检查两个括号。这将获取左括号的位置,(然后返回左括号和右括号之间的字符串长度:

select substring(col, charindex('(', col), charindex(')', col) - charindex('(', col) +1)
from yourtable;

请参阅带有演示的 SQL Fiddle

于 2013-01-24T14:51:43.560 回答
0

试试下面...它的工作原理...

DECLARE @c varchar(100)
SET     @c = 'Text I Want to Discard (TEXT I WANT)' 
SET @c = Replace(Replace(@c,')','_'),'(','_');
SELECT SUBSTRING(
    @c, 
    CHARINDEX('_', @c) + 1, 
    LEN(@c) - CHARINDEX('_', @c) - CHARINDEX('_', REVERSE(@c))
)
于 2013-01-24T14:46:57.410 回答