我有一些 varchar 数据,其中包含数值,我试图只去掉数字部分。我将其作为同时执行许多其他操作的存储过程的一部分来执行,因此我希望将其作为内联查询的一部分来执行。
我在此列中的数据值如下所示(添加单个刻度以显示 varchars 的结尾):
'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)