このフォーラムの回答の背後にあるロジックに追加すると、文字列内の特定の一連の末尾文字を持つ最初の 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
...しかし、「15 in」ではなく、例の文字列から「5 in」のみを抽出します。したがって、int 値全体が必要なだけでなく (このスクリプトの本来の目的は、文字列内の最初の int 値全体を見つけることでした)、文字列内の "in" の前にある int 値全体が必要です。
これは重複投稿の可能性があることを知っています。十分な評判を得たら、これを元のフォーラムの回答にコメントとして追加し、必要に応じてこの投稿を削除します。