给你一个思路:
第一步:先通过CHARINDEX分割出乘号前半部分的数字和单位,分隔符使用字段里面的乘号,简单sql如下
select SUBSTRING(spr, 0, case when CHARINDEX('', spr) = 0 then LEN(spr)+1 else CHARINDEX('', spr) end) from test
第二步:使用正则表达式匹配数字部分sqlserver有个函数patindex,可以找到数字的所在的索引。sql我就不写了,就是嵌套提取
第三步:然后通过SUBSTRING和上一步求到的索引截取出需要的数字和单位