作業中のプロジェクトのT-SQLで文字列の一部を抽出しようとしています。
例:
/ Clients / AAA / Something / Something
/ Clients / BBBB / Something / Something
特に、文字数が一定していないAAAまたはBBBを抽出しようとしています。
CHARINDEXとSUBSTRINGを使用して次のことを試してください。
drop table #a
create table #a (d varchar(100))
insert into #a (d)
values ('/Clients/AAA/Something/Something/')
,('/Clients/bbbbb/Something/Something/')
select d as [OriginalData]
,charindex('/', d, charindex('/', d, 0)+1) as [SecondSlash]
,charindex('/', d, charindex('/', d, charindex('/', d, 0)+1)+1) as [ThirdSlash]
,SUBSTRING(d -- Value
, charindex('/', d, charindex('/', d, 0)+1)+1 -- Startpoint (SecondSlash) + 1
, charindex('/', d, charindex('/', d, charindex('/', d, 0)+1)+1) - charindex('/', d, charindex('/', d, 0)+1)-1) as [Extract]
-- Endpoint (ThirdSlash - SecondSlash - 1)
from #a
少し面倒で、2番目と3番目のスラッシュの間のテキストしか返されませんが、かなり速いはずです。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加