2

クエリを使用して、この文字列を取得します"Order::Resource(PPP32#BB300320LQ00J#AAAR05504)"。次のように # 文字の前後の文字列を抽出したい:

ID = PPP32

サブ ID = BB300320LQ00J

sup_id =AAAR05504

誰もこれを行う方法を知っていますか?

4

2 に答える 2

3
declare @start int, @end int, @secondstring varchar(100)

select @start = charindex('#',@string)
select @secondstring = substring(@string, @start+1, len(@string))

select @end = charindex('#',@secondstring)

select substring(@string,1, @start-1),
       substring(@string,@start+1,@end-1), 
       substring(@string, @start+@end+1, len(@string)-@end)
于 2012-08-29T09:21:41.253 に答える
3

正しい解決策は次のとおりです。

declare @string varchar(50)
select @string = 'Order::Resource(PPP32#BB300320LQ00J#AAAR05504)'
declare @start int, @end int, @secondstring varchar(100)

select @start = charindex('#',@string)
select @secondstring = substring(@string, @start+1, len(@string))

select @end = charindex('#',@secondstring)

select substring(@string,charindex('(', @string)+1, @start-1-charindex('(', @string)),
       substring(@string,@start+1,@end-1), 
       substring(@string, @start+@end+1, len(@string)-(@start+@end+1))
于 2012-08-29T09:32:13.533 に答える