0

このフォーラムの回答の背後にあるロジックに追加すると、文字列内の特定の一連の末尾文字を持つ最初の 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 値全体が必要です。

これは重複投稿の可能性があることを知っています。十分な評判を得たら、これを元のフォーラムの回答にコメントとして追加し、必要に応じてこの投稿を削除します。

4

1 に答える 1