我有一个SQL Server 2008数据库,其中包含一个包含Data
列的表,其中包含如下值:
Hello\How\Are\You"
该列中的每个字符串都有4个块(即3个斜杠)
问题:
如何使用TSQL从该列中提取第3个值(在本例中为Are
)?
请注意,我只关心第3个值。
答案 0 :(得分:3)
declare @S varchar(30) = 'Hello\How\Are\You'
select parsename(replace(@S, '\', '.'), 2)
答案 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