1

Data我有一个 SQL Server 2008 数据库,其中包含一个包含如下值 的列的表:

Hello\How\Are\You"

该列中的每个字符串都有 4 个块(即 3 个斜杠)

问题:

如何使用 TSQLAre从该列中提取第三个值(在这种情况下)?

请注意,我只关心第三个值。

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

如果您的数据具有更棘手的性质,这是一种方法:

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 回答