1

Data次のような値を含む 列を持つテーブルを持つ SQL Server 2008 データベースがあります。

Hello\How\Are\You"

その列の各文字列には 4 つのブロック (つまり、3 つのスラッシュ バー) があります。

質問:

AreTSQL を使用して、その列から 3 番目の値 (この場合は ) を抽出するにはどうすればよいですか?

3番目の値だけを気にすることに注意してください。

4

2 に答える 2

3

parsenamereplaceを使用できます。

declare @S varchar(30) = 'Hello\How\Are\You'

select parsename(replace(@S, '\', '.'), 2)
于 2012-06-21T05:22:24.420 に答える
1

あなたのデータがよりトリッキーな性質のものである場合、これはそれを行う1つの方法です:

declare @t1 table(a nvarchar(500))
insert @t1 values('hello/how/are/you')

select left(t2.b, charindex('/', t2.b + '/') - 1)
from @t1 t1
cross apply (select stuff(a,1, charindex('/',a, charindex('/',a) + 1), '') b) t2
于 2012-06-21T07:55:27.880 に答える