添加到此论坛响应背后的逻辑,我将如何选择字符串中具有特定尾随字符集的第一个 int?换句话说,我想从“这东西长15英寸!”中提取“15英寸”。
我已经尝试了以下(基于答案)......
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 值。
我知道这是一个潜在的重复帖子,一旦我获得足够的声誉,我会将其作为评论添加到原始论坛的答案中,然后在需要时删除此帖子。