数値を含む varchar データがいくつかあり、数値部分のみを取り除こうとしています。私はこれを、同時に他の多くのことを行っているストアド プロシージャの一部として行っているので、インライン クエリの一部としてこれを行うことを望んでいます。
この列のデータ値は次のようになります (varchar の末尾を示すために単一の目盛りを追加しました):
'1.25', '< 5 min', '2.35 minutes', '50.43 min'
このコラムから得たいのは、1.25、5、2.35、50.43 です。
私の問題は、単一の選択で数値の長さを決定する方法であるため、最後に文字を切り取ることができます。値を選択する以外に (私の数字は常に同じ長さではありません)、何ができるかわかりません。数値のみが必要な理由は、宛先値の浮動小数点数に変換する必要があるためです。
これが私が試したことです:
SUBSTRING(my_data, PATINDEX('%[0-9]%', my_data), 4)