SQL Server中位置到位置的子字符串

时间:2018-08-30 09:13:15

标签: sql sql-server

是否有一种简单的方法可以将字符串从定义的位置提取到另一个定义的位置? (与Substring函数不同,后者的最后一个参数是要提取的字符串的长度)。

2 个答案:

答案 0 :(得分:2)

是的,基本数学:

declare @v varchar(200),
        @p1 int,
        @p2 int

select  @v = 'One Two Three',
        @p1 = 5,
        @p2 = 7

select  substring(@v, @p1, (@p2-@p1)+1)

答案 1 :(得分:1)

如果您有@pos@endpos,则可能会发现这很有用:

select stuff(stuff(@str, @endpos + 1, len(@str), ''), 1, @pos - 1, '')

这消除了长度的计算。