我有一列数据包含一个百分比范围作为字符串,我想转换为一个数字,所以我可以做简单的比较.
字符串中可能的值:
'<5%' '5-10%' '10-15%' ... '95-100%'
我想在我的select where子句中将它转换为第一个数字,5,10,15等,以便我可以将该值与传入的"至少此"值进行比较.
我已经在子串,charindex,转换和替换上尝试了一些变体,但我似乎仍然无法获得适用于所有组合的东西.
有任何想法吗?
试试这个,
SELECT substring(replace(interest , '<',''), patindex('%[0-9]%',replace(interest , '<','')), patindex('%[^0-9]%',replace(interest, '<',''))-1) FROM table1
在我的测试结果并且它有效,它只是我的第一次尝试,所以你可能能够优化它.