在字符串中的字符前选择第一个int

时间:2015-10-06 13:35:52

标签: string sql-server-2008 substring patindex

添加this论坛响应背后的逻辑,如何在字符串中选择一组特定的尾随字符?换句话说,我想从“这件事长达15岁”中提取“15 in”。

我尝试了以下内容(基于答案)......

SELECT LEFT(subsrt, PATINDEX('%[^0-9]%', subsrt + 't') - 1)
FROM (
     SELECT subsrt = SUBSTRING(string, pos, LEN(string))
     FROM (
          SELECT string, pos = PATINDEX('%[0-9] in%', string)
          FROM @temp
     ) d
) t

...但它只会从示例字符串中提取“5 in”,而不是“15 in”。因此,我不仅需要整个int值(此脚本的最初目的是在字符串中查找第一个整个int值),但我需要在字符串中“in”之前的整个int值。

我知道这是一个潜在的重复帖子,一旦我获得足够的声誉,我会将其添加为原始论坛答案的评论,如果需要,请删除此帖子。

1 个答案:

答案 0 :(得分:1)

如果你的例子是" 5"然后添加一个额外的" [0-9]"

&