次の形式の文字列があります
Text I Want to Discard (TEXT I WANT)
文字列の一部を角かっこで囲んだいだけです。この部分文字列を取得するにはどうすればよいですか?
次の形式の文字列があります
Text I Want to Discard (TEXT I WANT)
文字列の一部を角かっこで囲んだいだけです。この部分文字列を取得するにはどうすればよいですか?
これはどう:
select substring(col, charindex('(', col), len(col))
from yourtable;
SQL FiddlewithDemoを参照してください
または、両方のブラケットを確認してください。これにより、開始ブラケットの位置が取得され、開始ブラケット(
と終了ブラケットの間の文字列の長さが返されます。
select substring(col, charindex('(', col), charindex(')', col) - charindex('(', col) +1)
from yourtable;
SQL FiddlewithDemoを参照してください
以下を試してください...動作します...
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))
)